全1960文字
PR

データを扱う際には「統計」の知識は避けては通れない。統計学の基礎を学び、データの特徴を示す記述統計のプログラムをPythonで作ることで、統計の知識を深めていく。

 「家計簿データ」を使って、支出金額の分布や、支出項目の相関を確認するPythonのプログラムを作っています。今度は「12カ月間の取引ごとの支出詳細」のデータを使って、支出金額の分布を確認しましょう。ここでは、ヒストグラムと箱ひげ図を同時に描画します。リスト13を入力して実行してください。

リスト13●12カ月の支出金額のヒストグラムと箱ひげ図を描画するコード
リスト13●12カ月の支出金額のヒストグラムと箱ひげ図を描画するコード
[画像のクリックで拡大表示]

 リスト13の実行結果は図27のようになります。横軸が支出金額で、縦軸が各金額帯におけるデータの個数です。上にある箱ひげ図は、横に90度回転した形で表示されています。この結果から、1000円以下の以下の支出が多く、3万円以上の支出は2件しかないことがわかります。また、箱ひげ図の右側のひげが長く、偏った分布になっていることもわかります。

図27●リスト13の実行結果
図27●リスト13の実行結果
[画像のクリックで拡大表示]

 データの中心とばらつきを確認するために、平均値、中央値、標準偏差などを求めましょう。リスト14を入力して実行してください。describe関数は、主な要約統計量を算出し、まとめて表示する関数です。describe関数で出力できる要約統計量は、表2の通りです。

リスト14●12カ月の支出金額の要約統計量を出力するコード
リスト14●12カ月の支出金額の要約統計量を出力するコード
[画像のクリックで拡大表示]
表2●pandasのdescribe関数で出力できる要約統計量
表2●pandasのdescribe関数で出力できる要約統計量
[画像のクリックで拡大表示]

 リスト14の実行結果は図28のようになります。平均値(mean)が2343.798359、中央値(50%)が829.000000、標準偏差が3918.080465などであることがわかります。

図28●リスト14の実行結果
図28●リスト14の実行結果
[画像のクリックで拡大表示]

 これで、12カ月分のデータ全体の支出金額の傾向は確認できました。月ごとで分布が異なる可能性があるので、箱ひげ図を描画して確認します。リスト15を入力して実行してください。

リスト15●支出金額の月ごとの箱ひげ図を描画するコード
リスト15●支出金額の月ごとの箱ひげ図を描画するコード
[画像のクリックで拡大表示]

 リスト15の実行結果は図29のようになります。横軸が取引月で縦軸が支出金額です。この箱ひげ図では、下半期(7~12月)は上半期(1~6月)よりも箱が大きいです。これは下半期の方が支出金額のばらつきが大きいという意味です。特に、11月には最大値から大きく離れたところに外れ値があり、12カ月の中でも最も高い支出をしていることがわかります。

図29●リスト15の実行結果
図29●リスト15の実行結果
[画像のクリックで拡大表示]