我有两个Python Pandas的数据框(Dataframes)。假设第一个数据框是df1
。id列未必按顺序排列。
id B C
0 1 5 1
1 1 5 1
2 1 6 1
3 1 7 1
4 2 5 1
5 2 6 1
6 2 6 1
7 3 7 1
8 3 7 1
9 4 6 1
10 4 7 1
11 4 7 1
然后第二个数据框 df2
有一列包含了 id
的唯一值。
id
0 1
1 2
2 3
3 4
我希望为每个
id
计算列B
的最小值、最大值和平均值,并将其添加到第二个数据框中。结果如下所示: id min max avg
0 1 5 7 5.75
1 2 ..
2 3 ..
3 4 ..
在这个例子中,我可以通过手动为每个
id
计算它们来复制它。这没问题,因为这个例子只有4个id。但是我的实际例子有超过1000个id。有没有自动的方法来完成它?
df.groupby('id')['B'].agg(['min','max','mean'])
。 - EdChum