我有一个像这样的数据框:
Class price demand
1 22 8
1 60 7
3 32 14
2 72 9
4 45 20
5 42 25
我想做的是将 1-3 类分组在一个类别中,将 4-5 类分组在一个类别中。然后我想得到每个类别的价格总和以及每个类别的需求总和。我也想得到平均值。结果应如下所示:
Class TotalPrice TotalDemand AveragePrice AverageDemand
P 186 38 46.5 9.5
E 87 45 43.5 22.5
其中 P 是 1-3 类,E 是 4-5 类。我如何在 Pandas 中按类别分组?有办法做到这一点吗?
最佳答案
In [8]: df.groupby(np.where(df['Class'].isin([1, 2, 3]), 'P', 'E'))[['price', 'demand']].agg(['sum', 'mean'])
Out[8]:
price demand
sum mean sum mean
E 87 43.5 45 22.5
P 186 46.5 38 9.5
关于python - 将列值分组在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51990218/