「ハンバーガー統計学にようこそ!」をPythonでお勉強
こちらのサイトを利用してPython (Anaconda) でデータ解析の勉強をさせてもらおうと思います。
ハンバーガー統計学にようこそ!
1章
今日は1章の途中まで。
とりあえず分散と標準偏差は少し理解できたような気がします。
import pandas as pd
url = 'http://kogolab.chillout.jp/elearn/hamburger/chap1/sec5.html'
# HTMLからデータを読み込み、tableをDataFrameにしてくれる。
dframe_list = pd.io.html.read_html(url, encoding="sjis")
from pandas import DataFrame
chikin = dframe_list[0]
del chikin[0] # 1行目削除
fchikin = chikin.drop([0]) # 1列目削除してコピー
fchikin.columns=['ワクワク','モグモグ'] # indexの変更
fchikin
ワクワク | モグモグ | |
---|---|---|
1 | 135 | 144 |
2 | 142 | 143 |
3 | 149 | 139 |
4 | 146 | 166 |
5 | 149 | 169 |
6 | 144 | 144 |
7 | 137 | 147 |
8 | 138 | 138 |
9 | 156 | 176 |
10 | 153 | 133 |
11 | 150 | 170 |
12 | 147 | 137 |
13 | 136 | 146 |
14 | 160 | 140 |
15 | 142 | 122 |
16 | 157 | 177 |
# as_matrix / array型に変換
# Python3からはmapオブジェクトが帰ってくる
a = map(int, fchikin['モグモグ'].as_matrix())
a
# ここでは別案を考える
<map at 0x1046cce10>
from scipy.stats import randint
import numpy as np
# 配列の中の文字列を数値に変換する方法
mogu_list = [ int(i) for i in fchikin['モグモグ'] ]
mogu_low = min(mogu_list)
mogu_high = max(mogu_list)
mogu_mean, mogu_var = randint.stats(mogu_low, mogu_high)
mogu_std = np.std(mogu_list)
mogu__var = np.var(mogu_list)
print('平均= {} 分散={}'.format(mogu_mean, mogu_var))
print('標準偏差= {}'.format(mogu_std))
print('分散= {}'.format(mogu__var))
平均= 149.0 分散=252.0
標準偏差= 16.14376330816331
分散= 260.62109375