【发布时间】:2021-08-12 22:23:55
【问题描述】:
假设我有这个数据框:
df = pd.DataFrame(
[[1,2.2,3.1],[1,1.5,4.2],[1,3.6,7.0],
[2,1.9,9.8],[2,3.0,7.1],
[3,1.1,2.2],[3,4.4,5.6],[3,2.1,1.2]],
columns=['id', 'A', 'B'])
df
id A B
0 1 2.2 3.1
1 1 1.5 4.2
2 1 3.6 7.0
3 2 1.9 9.8
4 2 3.0 7.1
5 3 1.1 2.2
6 3 4.4 5.6
7 3 2.1 1.2
然后我需要一种方法来遍历这个数据框,对唯一 id 的行集合执行一些汇总计算。
类似于:
df1, df2, df3 = df.groupby('id')
但不可能这样做,因为:
- 有超过
1000的唯一ids, - 上面的返回值将是一个元组,并且需要一个数据框。
预期结果:
df1
id A B
0 1 2.2 3.1
1 1 1.5 4.2
2 1 3.6 7.0
df2
id A B
3 2 1.9 9.8
4 2 3.0 7.1
df3
id A B
5 3 1.1 2.2
6 3 4.4 5.6
7 3 2.1 1.2
我该怎么做?
【问题讨论】:
标签: python python-3.x pandas dataframe slice