【发布时间】:2019-12-16 13:11:21
【问题描述】:
我是 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 很大,我不确定我的代码是否正确执行,有人可以告诉我是否使用了正确的方法来实现这一点吗?
【问题讨论】:
-
我认为解决方案是正确的。
-
这样才是正确的
-
谢谢,当您展示如何计算分组类别的平均值时,我使用了您之前的示例@jezrael。如果我想从
A每个类别B的列中提取最大值和最小值,我可以使用df['max']=df.groupby('B')['A'].transform(max)? -
@JonasPalačionis - 是的,很好
-
@JonasPalačionis 如果 jerzael 的评论解决了您的问题,请将问题标记为“已关闭”。