
この回でつかむこと
列を選び、欠損値と平均の意味を説明できる。
pandasで表を読むって何だろう?
DataFrameは行と列を持つ表です。列名から必要な情報を選べます。欠損値NaNは『値がない』印で、実測の0とは違います。

気温の表を見ていたら、1日だけ値がない! ゼロってことかな?

そこは大事な違いなんだよ。『測っていない』と『0度だった』は別の意味だね。

欠損値を先に確認してから、平均を計算します。

AI先生 空欄を0度にすると、平均まで変わってしまうんだよ。
欠損を0と決めつけず、記録の意味を先に確認する。 DataFrameは行と列を持つ表です。列名から必要な情報を選べます。欠損値NaNは『値がない』印で、実測の0とは違います。
import pandas as pd
df = pd.DataFrame({'day':[1,2,3,4], 'temp':[18.0,20.0,None,22.0]})
print(df['temp'].isna().sum())
print(df['temp'].mean())なぜそうなる? mean()は既定で欠損を除外します。4件の平均として扱ったわけではありません。
条件に合う行を探す
『20度以上の日』のような問いを、列ごとの条件で表せます。
print(df.loc[df['temp'] >= 20, ['day','temp']])ここに注目 条件がTrueの行だけを取り出します。欠損は20度以上とは判定されません。
予想して、理由を話そう
答えを選んで、説明を確かめよう。外れても発見が一つ増えるよ。
答えを選ぶと理由が表示されます。
Colabで試してみよう
コードの実行はColaboratoryの実行環境で行います。まずノートブックを保存し、Colabで「ファイル → ノートブックをアップロード」から開いてください。上から順に実行し、最後に値を変えてみましょう。
保存ボタンを押しても画面は切り替わりません。通常はブラウザの「ダウンロード」フォルダに .ipynb が保存されます。見つからない場合はダウンロード履歴を確認してください。Colabの実習は小さな例から始められます。
身近な技術とつなげてみよう

AI先生:センサーが通信できなかった日の空欄を0度にすると、突然の寒波に見えてしまうかもしれないね。
この回の重要な用語
本文で出会った言葉を、ここで意味と一緒に振り返ろう。上の「ことばの窓」からも説明を開けるよ。
- DataFrame
- 行と列で構成されるpandasの表データです。
- NaN
- Not a Number。ここでは値が欠けていることを示します。
- loc
- 行の条件と列名を指定して表の一部を選ぶ方法です。