thinkstats2 1章
英語は無償で読めるのだけど、そこに時間を使うのもアレなので本を購入。 ただ、githubにある演習問題は英語だったので、結局読むことに。まぁ本文読むよりは良いけれど。
演習の2つ目の穴埋めで早速ハマる。coodbook のページは度数分布表になっているので、1つ目のような単なる一覧ではまずいのか? ということでpython, pandas の使いかたを調べる。
※答えのほう(chap01soln.ipynb
)はそのまま出力すれば良いだけだったので間違いじゃなかったぽい。
import pandas as pd prgl = df.prglngth.value_counts().sort_index().to_frame("val_cnt") prgl["prglngth_g"]=pd.cut(prgl.index,3) print(prgl[['prglngth_g','val_cnt']].groupby('prglngth_g').sum())
val_cnt prglngth_g (-0.05, 16.667] 3634 (16.667, 33.333] 1149 (33.333, 50] 8810
# 直接ビンの指定もできる。 prgl["prglngth_g"]=pd.cut(prgl.index,(0,13,26,50)) print(prgl[['prglngth_g','val_cnt']].groupby('prglngth_g').sum())
val_cnt prglngth_g (0, 13] 3507 (13, 26] 793 (26, 50] 9278
Rでも全く同じ関数でcutがあった。Rのdata.frameは割りとイメージできるので、R cut in python
とかで調べると良いのかも。
参考: http://pandas.pydata.org/pandas-docs/version/0.17.1/generated/pandas.cut.html