使用以下 Pandas DataFrame:
>>> df = pd.DataFrame({"id":[1,2,1,2],"name":['a','b','a','c'],"val_1":[1,2,3,4],"val_2":[5,6,7,8]})
>>> df
id name val_1 val_2
0 1 a 1 5
1 2 b 2 6
2 1 a 3 7
3 2 c 4 8
我按 id 和 name 对数据框进行分组,因此我可以一次遍历每个组数据:
>>> grp = df.groupby(['id','name'])
<pandas.core.groupby.groupby.DataFrameGroupBy object at 0x103334c88>
现在我正在遍历每个组的行并将其打印出来:
>>> for name,group in grp:
... for row,data in group.iterrows():
... print(data)
...
id 1
name a
val_1 1
val_2 5
Name: 0, dtype: object
id 1
name a
val_1 2
val_2 6
Name: 1, dtype: object
id 2
name b
val_1 3
val_2 7
Name: 2, dtype: object
id 2
name c
val_1 4
val_2 8
Name: 3, dtype: object
我想得到的行是:
id name val_1 val_2
0 1 a 1 5
id name val_1 val_2
1 1 a 2 6
id name val_1 val_2
2 2 b 3 7
id name val_1 val_2
3 2 c 4 8
我怎样才能做到这一点?
隔江千里
拉丁的传说
相关分类