01.2
データの読み込みと整形
pd.read_csv で読み込んだ生データを分析に使える表に整える手順を扱います。df.loc や真偽値マスクによる行と列の選択、pd.to_numeric(errors="coerce") による型変換、melt による tidy 化と groupby().agg による一括集計で、1 行 1 観測の表と KPI の表を作ります。SQL に慣れたメンバーと同じクエリ資産を使うために、df.to_sql で DataFrame を SQLite に載せて pd.read_sql で SELECT を実行する方法も押さえます。読み終えると、外部の公開データを取り込んでから欠損・型・桁の異常を見つけ、補完か除外かを決めるまでを自分の手で再現できます。直感 #
分析プロジェクトの大半の時間はデータの取得と整形に費やされます。総務省の CSV をそのまま read_csv すると、1 行目がタイトル、2 行目が単位で、マイナスは “△” の文字で入っているため、合計も平均も計算できません。header=None で読んで 2 行目をヘッダーに差し替え、"△" を “-” に置換して pd.to_numeric で数値に直します。そのうえで melt と groupby("カテゴリ").agg(...) で集計できる形にするまでが整形です。このチャプターでは、総務省のオープンデータを例に「取得、整形、集計、SQL操作」までを一気通貫で学び、どのデータでも再現できる整形テンプレートを身に付けます。
詳細な解説 #
このチャプターで学べること #
- サンプルデータの取得手順とクリーニングの基本フロー
- pandasのDataFrame操作(列選択・フィルタリング・型変換)
aggによる一括集計とレポート用KPIの算出- pandas上でSQLiteを使ったSQL実行の方法
これがわかるとできること #
- 外部公開データを取り込んで分析可能な形に整形できる
- 欠損(NaN)・型・桁の異常を
describeで検出し、補完や除外の方針を定められる - SQLに慣れたメンバーと共通言語で作業できる
学習の進め方 #
まず サンプルデータの取得 で、総務省の CSV をダウンロードして read_csv(header=None) で読み込み、ヘッダーを差し替えてから describe().T で欠損と桁違いを確認するクリーニングの手順を実行します。次に pandas の基本操作 に進み、loc / iloc による列選択、真偽値マスクによるフィルタ、assign による列追加、melt / pivot_table による long ⇔ wide 変換など、データの確認と加工の方法を押さえます。続けて 集計関数 で、agg(["count", "mean", "median", "std"]) と groupby("カテゴリ").agg(...) でレポート用の統計量をまとめて算出します。最後に pandas 上の SQL で、df.to_sql("gdp", conn) で同じ DataFrame を SQLite に載せ、pd.read_sql で SELECT ... GROUP BY を実行して、pandas の集計結果と一致することを確かめてクエリとの連携を確認します。