我有一个数据框,
A B
1 2
1 3
1 4
2 5
2 6
3 7
3 8
如果我df.groupby('A')
,我如何将每个组转换为子数据框,因此对于A=1
A B
1 2
1 3
1 4
代表A=2
,
A B
2 5
2 6
代表A=3
,
A B
3 7
3 8
答案 0 :(得分:2)
使用get_group
g=df.groupby('A')
g.get_group(1)
Out[367]:
A B
0 1 2
1 1 3
2 1 4
答案 1 :(得分:1)
您已接近,需要将groupby
对象转换为dictionary of DataFrame
s:
dfs = dict(tuple(df.groupby('A')))
print (dfs[1])
A B
0 1 2
1 1 3
2 1 4
print (dfs[2])
A B
3 2 5
4 2 6