当pandas数据在python中聚合时,如何计算每组尾部的sum | mean |中值

2024-07-03 02:40:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有类似的数据以下哪个是熊猫数据帧格式。在

A  B  C  D  E  F  G
1  1  2  3  1  4  2
1  1  2  4  5  6  7
1  1  2  3  2  3  2
1  1  2  4  5  6  7
2  1  2  3  2  3  4
2  1  2  3  4  3  3
2  1  2  4  5  6  7

在这里,''lvu'['C]

我想计算G变量的平均值|中位数|和使用尾(2)在每个组的数据聚合到agg | lvl。在

我的预期产出如下:

平均值的预期输出:

^{pr2}$

中位数和和和的输出是相同的,但是我们必须考虑中值和和和值来代替平均值。在

为此,我尝试了以下代码,但没有得到预期的输出。在

df.groupby(agg_lvl,as_index=False).tail(2).agg({'G':'mean'})

有谁能帮我解决这个问题吗。在

提前谢谢。在


Tags: 数据代码falsedfindexas格式agg
1条回答
网友
1楼 · 发布于 2024-07-03 02:40:44

使用^{}代替agg返回与tail过滤的DataFrame形状相同的新列:

agg_lvl=['A','B','C']
df = df.groupby(agg_lvl,as_index=False).tail(2)
df['G'] = df.groupby(agg_lvl)['G'].transform('mean')
print (df)
   A  B  C  D  E  F    G
2  1  1  2  3  2  3  4.5
3  1  1  2  4  5  6  4.5
5  2  1  2  3  4  3  5.0
6  2  1  2  4  5  6  5.0

编辑:

^{pr2}$

相关问题 更多 >