第6回 CSVを読み込む・整形・記述統計¶
11/5・11/6
今日のリンク
この回の問い¶
なぜ人間に読みやすい表は、機械に読ませられないのか
今日の段取り¶
3限(13:00〜14:40)
| 時刻 | 時間 | 内容 |
|---|---|---|
| 13:00 | 0-5 | 回収状況の共有+今日使うAIの案内 |
| 13:05 | 5-12 | 研究へのご協力のお願い(説明と書類を配ります) |
| 13:12 | 12-24 | きれいなデータとは何か。汚い表を読み込ませて、失敗を見る |
| 13:24 | 24-32 | Colabを開く/CSVを読み込む |
| 13:32 | 32-48 | 自分のデータを読み込んで整形する |
| 13:48 | 48-56 | 基本統計量を出す(件数・平均・中央値・標準偏差) |
| 13:56 | 56-64 | 同じ調査をもう一度やったら、同じ数字が出ると思いますか |
| 14:04 | 64-74 | 卒業:3通りの方法で同じ数字が出るか確かめる |
| 14:14 | 74-77 | 課題の説明 |
| 14:17 | 77-80 | 配った書類の記入(参加しない人も、封をして出してください) |
| 14:20 | 80-100 | ふりかえりテスト(成績には入りません。終わったらその場で解説します) |
今日使うAI
授業の冒頭で案内します。上の「今日のリンク」にあなたのクラスの欄があれば、そのリンクのアシスタントを使ってください。 無ければ、いつもどおり Copilot を使ってください。
どちらの回でも、教員・TA・ほかの学生に相談してかまいません。禁止するものは何もありません。
第4回の「各自の2枚」がまだの人へ
課題4の各自の提出(日本語のグラフの画面/renshu.csv を読み込めた画面)は、班の代表では代えられません。1人ずつ出します。
まだ出していない人は、今日この授業で出す画面をそのまま撮って、課題4に出してください。1点足します。
つまずきやすいのは、この3つ¶
この3つは、TAが先に同じ課題を解いて、実際に詰まったところです。先に知っておけば、ここで時間を使わずに済みます。
① CSVをどこに置くか¶
Colabの左端のフォルダのアイコン(📁)をクリックすると、枠が開きます。そこにCSVをドラッグするだけです。
開いた最初の場所に置いてください。別のフォルダを開いてしまうと、どこに置いたか分からなくなります。
置けるとファイル名が一覧に出ます。pd.read_csv("ファイル名.csv") に書く名前は、その一覧の名前と1文字もちがわないようにします。
置いたファイルは、しばらく経つと消えます
Colabはつなぎ直すと、置いたファイルが消えます。壊れたのではありません。もう一度ドラッグすれば戻ります。 消えて困るものを、ここに置いたままにしないでください。
② 列名に改行が入っている¶
フォームの設問文が長いと、CSVの列名に改行がそのまま入ります。
見た目は「睡眠時間」でも、本当の列名は 睡眠時間\n(半角数字で) だったりします。だから
まず、列名を全部出して見る。
'睡眠時間\n(半角数字で)' のように \n が見えたら、それが改行です。1行で消せます。
列名を見ないまま列を指定するのが、いちばん多い詰まり方である。
エラーが出たら、まず columns を出す。これはAIに聞く前にできます。
③ 文字が化けても、壊れてはいない¶
Colabで読み込むぶんには化けません。化けるのは、同じCSVをExcelで開いたときです(第5回で話したとおり、GoogleのCSVはUTF-8です)。
CSVをExcelで保存し直した場合だけ、読み込みに1つ足します。
やること¶
- きれいなデータ(1行1件・1列1変数・結合しない・色で意味を持たせない・単位を混ぜない)
- 汚い表を読み込ませて、失敗を見る
- CSVを読み込む(コードはAIに書かせてよい。ただし読んで、何をしているか説明できること)
- 欠測値と外れ値/基本統計量を出す
- 同じ調査をもう一度やったら、同じ数字が出る?(少ない人数で平均を出すと、毎回ちがう数字が出ることを見ます)
- 同じ数字が3通りの方法で出るか確かめる
- 授業末20分:ふりかえりテスト(成績には入りません。終わったらその場で解説します)
新しいデータを受け取ったら、計算の前に最小値と最大値を見る
今日のデータには、体重が −999g の霊長類が入っています。-999 は「測定していない」という符号です。
これを見落とすだけで平均が34%ずれます。しかもエラーは出ません。グラフも描けます。
describe() を見て、ありえない値(負の体重、300%の割合)がないかを確かめる。これだけで多くの事故が防げる。
課題¶
- 課題6 ノートブック+基本統計量+「元データのどこが汚かったか」(8点)
- 提出期限:次回授業の開始まで(遅れた場合は50%)
提出するのは、このノートブック(コードと出力が残った状態)です。 含めるもの:
- 自分のデータを読み込んだセルと、その出力
describe()の出力(最小値と最大値を確認した証拠)- 基本統計量(件数・平均・中央値・標準偏差)
- 元データのどこが汚かったかの記録(1つ以上。なければ「なかった」と書いて理由を添える)
- 3通りの集計が一致したか。ずれた場合は、その原因
データファイルそのものは、提出だけにしてください
回答者の情報が含まれます。GitHubのリポジトリには上げないでください。 提出先(Moodle)は、教員とあなたしか見られません。
回収がゼロだった人も、今日の課題はできます
クラス共通アンケートのデータを使ってください(第5回に全員が答えたものです)。 自分の調査が集まらなかったことで、ここから先の演習ができなくなることはありません。
次回までにやること¶
手入力はしない。うまく読めなかった列があれば、原因をメモしておく。自分のデータは何件集まったかを確認しておく(次回以降、「その件数で何が言えるか」を考えます)
困ったら
操作方法で困ったときは、まずAIに聞いてください。それでも解決しないときは、TAか教員に声をかけてください。 「どこまでできて、どこで止まったか」を言えると、答えが早く返ってきます。
ただし、調査してよい内容か・個人情報をどう扱うか・公開してよいかは、教員に確認してください。 実際の回答データや個人が分かる情報を、教員の確認なくAIに入力しないでください。
もっと知りたい人へ:教科書『はじめて学ぶ 数理・データサイエンス・AI』第6章 データの要約/第10章-04 外れ値(対応表)