Pandas如何使用groupby将每个组转换为数据帧

时间:2018-03-13 14:09:42

标签: python-3.x pandas dataframe group-by

我有一个数据框,

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 

2 个答案:

答案 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