社会人が統計学の基礎を学び、実務で活かす

Pythonでヒストグラムを描く[Pandas, matplotlib.pyplot](Pythonによる統計学)

スポンサーサーチ

統計解析やデータ分析を行う際は「データを可視化すること」が非常に重要です。

ある変数の分布を調べたい時はヒストグラムを描くのが有効です。
それによって、平均値や中央値を見ているだけでは分からない
データがどのようにバラついているか、などを理解することができます。

今回はPythonを用いてヒストグラムを描く方法を紹介します。

まずは、Pandasライブラリを用いて、データフレームを作成しましょう。
その前に、必要なライブラリをインポートします。

まずは、100人分の身長をランダムに発生させ、hというベクトルに格納しましょう。
初めの50人は男性と考えて、平均171cm、標準偏差6cmの正規分布から、
残りの50人は女性と考えて、平均158cm、標準偏差5cmの正規分布から、
データを発生させてみます。

なお正規分布については「正規分布とは何か?期待値、分散、例」で詳しく解説しています。

以下では、np.random.seed(10)を指定することにより、
毎回、同じデータが生成されるようにしました。

100個数字を発生させたので、全部は載せませんがprint()関数を用いて発生した数字を確認できます。

>>> print(h)
[179.0, 175.3, 161.7, 170.9, 174.7, 166.7, 172.6, 171.7, 171.0, 170.0, 173.6, 178.2, 165.2, 177.2, 172.4, …. ]

次にpandasのデータフレームをmydataと名付け、データフレームを作成します。

idと名付けた列は1から100までid番号を振ります。
genderと名付けた列は「男性 male」を表すMと「女性 female」を表すFを50人づつ。
そして、身長の列「height」には上で発生させた身長を入れます。

以下のコマンドでHTML形式でデータフレームを出力することができます。
今回はhead(5)とtail(5)を利用して初めと終わりの5行づつを出力しましょう。

>>> pd.DataFrame.to_html(mydata.head(5))
>>> pd.DataFrame.to_html(mydata.tail(5))

gender height id
0 M 179.0 1
1 M 175.3 2
2 M 161.7 3
3 M 170.9 4
4 M 174.7 5
gender height id
95 F 162.6 96
96 F 155.6 97
97 F 158.4 98
98 F 162.1 99
99 F 148.2 100

それでは早速、ヒストグラムを描いてみます。
身長(height)のヒストグラムは以下のコマンドで描くことができます。

コード内でbins=を指定することにより、ヒストグラムの帯の数を指定できます。
もっと細かく20個の帯になるように指定してみましょう。

また、by = mydata[“gender”]により男女別(gender別)にヒストグラムを描くことも可能です。

他の手法としては、matplotlib.pyplotを利用して、
ヒストグラムを作成することも可能です。

最初に作成したベクトルhのヒストグラムを描いてみます。


プログラミングとソフトウェア

スポンサー募集中。

統計ドットリンクでは広告出稿をご希望のスポンサー様を募集しております。ページビューなどは、「お問い合わせ」からご連絡ください。

更新・勉強会などの情報を受け取る。

以下からFacebookページをフォローもしくは、メールマガジンへの登録をすると、更新情報、勉強会、講習会、交流会の案内など各種情報を受け取ることができます。

↑こちらからFacebookページをフォロー。
 

メルマガ登録はこちら

理系の就職・職業訓練

統計ドットリンクでは、理系の大学生、大学院生、第二新卒の就職や転職を応援しています。職業訓練、求人やエージェントなどの必要な情報を選別し、紹介しています。 就職、職業訓練の情報を確認する。
PAGETOP
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.