首页 > 解决方案 > 为匹配条件的列中的值计算中值

问题描述

我是熊猫新手。

我的数据集:

df

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

我正在尝试添加新列C并计算与 column 定义的同一组中的值的中位数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 很大,我不确定我的代码是否正确执行,有人可以告诉我是否使用正确的方法来实现这一点吗?

标签: pythonpandas

解决方案


您可以使用:

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

正如评论中提供的那样。


推荐阅读