Social Data Science Courseware

3. データを手に入れる(最小限)

学習目標

  • 主要な公開データポータル(e-Stat、気象庁、Kaggle 等)の特徴を説明できる
  • CSV ファイルを 1 つダウンロードし、ローカルに保存できる
  • ダウンロードした CSV を Google Drive 経由で Colab から読み込める
  • 「取得 → 保存 → 読み込み」の一連の流れを 1 サイクル通せる

本文

公開データポータル

無料で誰でも使えるデータの入り口がいくつもあります。代表的なところ:

ポータル特徴URL
e-Stat日本の政府統計(人口・経済・労働ほか)。CSV/Excel 形式で配布https://www.e-stat.go.jp/
気象庁オープンデータ気象観測・予報データhttps://www.data.jma.go.jp/
Kaggle Datasets機械学習用データセットが豊富、海外コンペティション由来も多いhttps://www.kaggle.com/datasets
地方自治体オープンデータ自治体ごとの統計・施策データ。サイト構成はバラバラ(各自治体サイト)
世界銀行データ世界各国の経済・社会指標https://data.worldbank.org/

CSV をダウンロードする手順

  1. データポータルにアクセスし、興味のあるデータを探す
  2. ページ内の「ダウンロード」「CSV」リンクを探す(呼び方は様々)
  3. CSV 形式を選んでローカルに保存

ファイル名は半角英数字に揃えておくとあとで扱いやすくなります(日本語ファイル名でも使えるが、トラブル原因になりがち)。

Colab で読み込む 2 つの方法

方法 A:Google Drive 経由(推奨)

  1. ダウンロードした CSV を Google Drive にアップロード(例:MyDrive/datasets/<ファイル名>.csv
  2. Colab でマウント
from google.colab import drive
drive.mount('/content/drive')

import pandas as pd
df = pd.read_csv('/content/drive/MyDrive/datasets/<ファイル名>.csv')
df.head()

ランタイムが切れてもファイルは Drive に残るので、再利用しやすい。

方法 B:Colab に直接アップロード

from google.colab import files
uploaded = files.upload()  # 実行するとファイル選択ダイアログが出る

簡単だが、ランタイムが切れるとファイルが消えるため、その都度アップロードし直すことになります。

文字コードのつまずきに備える

ダウンロードした CSV が日本語を含む場合、文字コードは UTF-8cp932(Shift_JIS) のどちらかであることが多い。次の単元の延長で扱うので、ここでは「文字化けしたら encoding を変えて試す」ことだけ覚えておきましょう。

df = pd.read_csv("path.csv", encoding="cp932")  # UTF-8 で読めないときに試す

スコープ外

本コースで扱うのは 「Web 上にあらかじめ用意された CSV をダウンロードする」 までです。次のものは扱いません:

  • Web スクレイピング(HTML をプログラムで取得して整形する手法)
  • API の認証付き呼び出し(OAuth ほか)
  • データベース直接接続

実データを継続的に取得したい場合は、後続コースや別資料を参照してください。

サンプルコード

# Google Drive をマウントし、ダウンロード済み CSV を読む典型例
from google.colab import drive
drive.mount('/content/drive')

import pandas as pd
df = pd.read_csv('/content/drive/MyDrive/datasets/sample.csv')
print(df.shape)  # (行数, 列数)
df.head()

演習

  1. e-Stat または気象庁オープンデータから、興味のある CSV を 1 つだけ ダウンロードする
  2. Google Drive にフォルダ datasets/ を作り、ダウンロードした CSV をアップロードする
  3. Colab で Drive をマウントし、pd.read_csv() で読み込む
  4. df.shapedf.head() で全体像を確認する
  5. 読み込めなかった場合、エラーメッセージを読んで原因(パス違い/文字コード違い)を特定する

発展課題(オプション)

  • 自分の興味分野(スポーツ/音楽/ゲーム/自治体/気象 ほか)のデータを Kaggle で 1 つ探し、同じ流れで Colab に読み込む
  • 同じデータを「方法 A(Drive 経由)」と「方法 B(直接アップロード)」の両方で読み込み、使い心地を比べる