pandasでCSVを読み込む
CSVはエクスポートやデータセット交換で広く使われます。
pandas read_csvはどのような場面で使う?
CSVは表計算ソフト、業務システム、分析ツール、API、データベース間のデータ交換に広く使われます。pandas.read_csv()はCSVをDataFrameとして読み込み、整形・抽出・分析を可能にします。
主な用途
- Excel、Google Sheets、CRMからのエクスポートを分析する。
- データサイエンスや機械学習のデータセットを読み込む。
- 取り込み前に欠損値、誤った型、重複データを整理する。
ヒント: 実運用データではdtype、parse_dates、usecols、na_valuesを指定し、読み込み条件を明確にしましょう。
基本例
main.py
import pandas as pd
from io import StringIO
csv_text = "name,score\nAda,95\nLin,88\nSam,91"
students = pd.read_csv(StringIO(csv_text))
print(students)
期待される出力
name score
0 Ada 95
1 Lin 88
2 Sam 91
応用例
実際のCSVは大きく、不完全なことがあります。この例では必要な列を選択し、日付を解析し、型を指定して、複数形式の欠損値を認識します。
advanced_csv.py
import pandas as pd
sales = pd.read_csv(
"sales.csv",
usecols=["order_date", "product", "quantity", "revenue"],
parse_dates=["order_date"],
dtype={"product": "string", "quantity": "Int64"},
na_values=["", "N/A", "unknown"],
)
sales = sales.dropna(subset=["order_date", "product"])
monthly_revenue = sales.groupby(
sales["order_date"].dt.to_period("M")
)["revenue"].sum()
print(monthly_revenue)
仕組み
read_csvはヘッダーと型を推測します。dtype、parse_dates、na_valuesを指定すると安全です。
値を変更し、PythonをインストールせずにCodeUtilityオンラインPythonコンパイラで実行できます。
練習問題
入力値と境界ケースを変更し、より大きなデータでも動作を確認してください。
- 行、列、欠損値を追加する。
- フィルタ、ソート、groupbyを組み合わせる。
- 実ファイルを読み込みdtypeを確認する。