
12
1 章 探索的データ解析
14 3
15 1
51 1
6, 7, 8
ポンドでの結果は合っていますし、
0
〜
5
と
9
〜
95
の個数をそれぞれ足し
合わせると、それらもあっています。しかし、細かく見れば、データのエラーがわか
ります。
51
ポンドの新生児はありえません。
このエラーを処理するため、
CleanFemPreg
に次の一行を追加しました。
df.birthwgt_lb[df.birthwgt_lb > 20] = np.nan
この命令は、不正値を
np.nan
で置き換えます。角括弧の式は、論理型の
Series
で、
True
は条件が満たされていることを示します。論理型の
Series
をインデックスに使
うと、その条件を満たす要素だけが選ばれます。
1.8
解釈
データを効率的に処理するためには、統計のレベルと文脈のレベルという
2
つのレ
ベルを同時に考える必要があります。
例えば、何人かの回答者の妊娠結果を見てみましょう。データファイルの構成が妊
娠単位のため、回答者ごとの妊娠データを集めるには処理が必要です。それを行う関
数は次のようになります。
def MakePregMap(df):
d = defaultdict(list)
for index, caseid in df.caseid.iteritems():
d[caseid].append(index)
return d
df
は妊娠データの
DataFrame
です。メソッド
iteritems
が各妊娠のインデックス
(行番号)と
caseid
とを順に処理します。 ...