找到一组数据的中位数并应用于该组的成员

时间:2019-09-26 07:20:47

标签: python pandas numpy

如何获取组的中位数,然后将其应用于属于该组的所有成员?

我有一个很大的数据框,其中第1列中的人员,第2列中的人员所属的组以及第3列中的得分。

我想获取组的中位数,然后在第4栏中将其分配给该组的成员。每组的中位数都不同。

1 个答案:

答案 0 :(得分:1)

to_numericerrors='coerce'一起用于转换数字的字符串表示形式,还将非数字转换为NaN,然后对新列使用GroupBy.transformmedian在原始数据中填充的汇总值:

df['score'] = pd.to_numeric(df['score'], errors='coerce')
df['median'] = df.groupby('col2')['score'].transform('median')