如果符合条件的列中的值,则计算中位数

时间:2019-12-16 13:11:21

标签: python pandas

我是熊猫新手。

我的数据集:

df

A       B 
10      1
15      2  
65      3   
54      2  
51      2   
96      1  

我试图添加新列C并计算由列B定义的同一组中的值的中位数。

预期结果:

df

A       B       C
10      11      53
15      2       34
65      3       65
54      2       34
51      2       34
96      1       53

我尝试过的事情:

df_final['C'] = df_final.groupby('B')['A'].transform('median')

我确实得到了答案,但是由于DataFrame太大,我不确定我的代码是否正确执行,有人可以告诉我我是否使用了正确的方法来实现这一目标?

谢谢您的建议。

1 个答案:

答案 0 :(得分:1)

您可以使用:

df_final['C'] = df_final.groupby('B')['A'].transform('median')

如评论中所提供。