Python でデータ分析!!統計モデリングをPandasでやってみた!!

データサイエンスっぽいことの勉強をしてみたかったので、統計の練習問題本を買って、実際にpythonを使ってデータ分析をしてみることにした。

なんといってもこれが一番統計とpythonを習得する近道のような気がするので、まずはやってみるとにする。

例題で学ぶ統計入門から引っ張ってきたデータが、木の高さ。

木の高さということでTree_hightという名前を付けてあるけど、これだけではただの数字の羅列。

なので、全体層が把握しやすいようにデータを加工する必要がある。

そこで、pythonのデータ分析ライブラリ、Pandasを使ってデータの概要を把握してみる。

必要なデータ処理として、まずnumpy とPandas そしてグラフ描写専用のライブラリmatplotlibをインポート。

スポンサーリンク

numpay とpandasを使ってのデータ処理

以下のようなコードを書く。

Tree_hight = [6.9, 6.9, 7.2, 7.3, 7.2, 6.6, 7.3, 7.4, 7.2, 7.2, 7.4, 7.5, 7.5, 6.6, 7.0, 6.3, 7.7, 7.4, 7.4, 7.3, 6.9, 7.0, 6.5, 7.7, 7.5, 7.0, 7.6, 7.4, 7.1, 7.8]
import numpy
import pandas
import matplotlib.pyplot as plt
nTree_hight = numpy.asarray(Tree_hight)
pTree_hight = pandas.Series(Tree_hight)

numpy, pandasを使ってデータ処理をするために、それぞれ用のデータをデータを設定する。

len(Tree_hight)
30
len(nTree_hight)
30
len(pTree_hight)

len 関数を使って標本数をチェック。

元データ、numpy を使ったデータ、そしてpandasを使ったデータでも同様に標本数は30なので、これはこれであっています。

pandasのことは実はよくわかっていないのですが、かなり便利なライブラリーということはちょっと使ってみてわかります。

pandasでデータの概要把握

以下のようにPandasを使ったdescribe 関数でデータセットの大まかな概要を把握することができるんですね。

把握できるデータの概要はというと、標本平均、標準偏差、最大値、最小値 四分位数。

ざっくりデータの概要をつかむには、かなりよくできたライブラリーです。

pTree_hight.describe()
count    30.000000
mean      7.193333
std       0.368532
min       6.300000
25%       7.000000
50%       7.250000
75%       7.400000
max       7.800000
dtype: float64

pandasを使うことで度数分布表的なものも作れるのですが、こちらはあまり使いがってよくなさそうです。

確かに数値を振り分けてはくれるのですが「6.9~7.3」というような形では振り分けてくれないようですね。

なので、例えば標本の数値が30個全部違うという場合、階級が30個できるという事態になってしまうのです。

pTree_hight.value_counts()
7.4    5
7.2    4
6.9    3
7.3    3
7.0    3
7.5    3
7.7    2
6.6    2
7.1    1
7.6    1
7.8    1
6.3    1
6.5    1

度数分布表として、階級が多すぎるのはとても見ずらいですし、ヒストグラムを作るにも不便です。

そのために必要なのが、適当な階級分けです。

そのための方法を探る必要がありますね。

スポンサーリンク

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.