我正在尝试建立一个表,该表具有按子组划分的组,每个子组具有计数和平均值。例如,我要转换以下数据框:
对于一个看起来像这样的表,其中间隔是一个更大的组,而一列则成为该组内的子组,每个单元格中都有对应的子组的计数和平均值:
我已经尝试过,但没有成功:
最佳答案
将DataFrame.melt
与GroupBy.agg
和元组一起使用,以具有新列名称的聚合函数:
df1 = (df.melt('interval', var_name='source')
.groupby(['interval','source'])['value']
.agg([('cnt','count'), ('average','mean')])
.reset_index())
print (df1.head())
interval source cnt average
0 0 a 1 5.0
1 0 b 1 0.0
2 0 c 1 0.0
3 0 d 1 0.0
4 0 f 1 0.0
关于python - Python:汇总和汇总DataFrame中的组和子组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55663359/