我该怎么做才能将分组数据转换为数据框。每个组在一个数据帧中? 我这样做是为了对我的数据进行分组 我写道:
df = pd.DataFrame({'Animal' : ['Falcon', 'Falcon',
'Parrot', 'Parrot'],
'Max Speed' : [380., 370., 24., 26.]})
df.groupby('Animal')
答案 0 :(得分:3)
animals = {idx: grp for idx, grp in df.groupby('Animal')}
以“动物”为键进行访问,例如:
animals['Falcon']
[出]
Animal Max Speed
0 Falcon 380.0
1 Falcon 370.0
答案 1 :(得分:0)
您可以使用:
dfs = []
for i in df.groupby('Animal'):
dfs.append(i[1])
print(dfs[0])
Animal Max Speed
0 Falcon 380.0
1 Falcon 370.0
print(dfs[1])
Animal Max Speed
2 Parrot 24.0
3 Parrot 26.0
答案 2 :(得分:0)
df
Animal Max Speed
0 Falcon 380.0
1 Falcon 370.0
2 Parrot 24.0
3 Parrot 26.0
您可以使用.loc而不是groupby来在单独的数据帧中获取期望结果
df1 = df.loc[df['Animal'] == 'Falcon'].reset_index(drop = True)
df1
Animal Max Speed
0 Falcon 380.0
1 Falcon 370.0
df2 = df.loc[df['Animal'] == 'Parrot'].reset_index(drop = True)
df2
Animal Max Speed
0 Parrot 24.0
1 Parrot 26.0
您可以对多个数据框使用循环
P.S。鹦鹉和猎鹰是鸟;-)