導入
最後は、これまでの流れをすべて1つのコードにまとめます。読み込み → 前処理 → 集計 → 可視化。この形が、あなたのデータ分析のひな型になります。
説明
月ごとの売上を分析し、推移を折れ線グラフで見る、という一連の流れです。
import pandas as pd
import matplotlib.pyplot as plt
import io
# 1) 読み込む
csv_text = """date,sales
2024-01-10,320
2024-01-25,180
2024-02-05,410
2024-02-18,90
2024-03-02,270
2024-03-20,360
2024-03-28,150"""
df = pd.read_csv(io.StringIO(csv_text))
# 2) 前処理:日付型に変換し、月を取り出す
df["date"] = pd.to_datetime(df["date"])
df["month"] = df["date"].dt.month
# 3) 集計:月ごとの売上合計
monthly = df.groupby("month")["sales"].sum()
print("--- 月別売上 ---")
print(monthly)
print("最も売れた月:", monthly.idxmax(), "月")
# 4) 可視化:推移を折れ線で
plt.plot(monthly.index, monthly.values, marker="o")
plt.title("Monthly Sales Trend")
plt.xlabel("month")
plt.ylabel("total sales")
plt.grid(True)
plt.show()
monthly.idxmax() は「値が最大になったときのインデックス(=月)」を返します。集計結果から要点を1つ言葉にできると、分析らしくなります。
ここまでで、numpy・pandas・matplotlib を組み合わせた分析の型が身につきました。あとは、扱うデータと問いを変えながら、この流れを繰り返すだけです。
やってみよう
groupby("month") の集計を .mean()(月ごとの平均)に変えて、折れ線の形がどう変わるか見てみましょう。
演習
上の分析で、monthly(月別売上合計)の中で最も売れた月を idxmax() で求めて表示してください。
ヒント1を見る
monthly.idxmax() を print します。
さいごに
おつかれさまでした。このコースで学んだのは、データ分析の「共通の型」です。さらに進みたい人へ:
- 相関やクロス集計(
pivot_table)でより深く関係を探る - 機械学習(scikit-learn)で予測・分類へ進む
- 実データ(政府統計オープンデータ、Kaggle など)で練習する
分からなくなったら、いつでも前のレッスンに戻って手を動かしてみてください。