less than 1 minute read

DataFrame.groupbyの結果を、イテレートすると、(キー, 該当行が入ったDF)というタプルが得られる。日本語で説明するのは難しい。

df = pd.DataFrame({
    "id": [1, 1, 2, 2],
    "x": [1, 2, 1, 2],
    "y": [100, 200, 300, 400]
})
for id, df in df.groupby("id"):
    print(f"id={id}")
    print(df)

で、

id=1
   id  x    y
0   1  1  100
1   1  2  200
id=2
   id  x    y
2   2  1  300
3   2  2  400

という出力が得られる。各idごとに、部分DFを取り出して、それに対して何かやりたい、みたいなときに便利。

タグ:

カテゴリー:

更新日時: