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



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

我有一个大型数据帧,第 1 列中有个人,第 2 列中有他们所属的组,第 3 列中有他们的分数。

我想得到该组的中位数,然后在第 4 列中将其分配给该组的成员。每组的中位数不同。

to_numericerrors='coerce'一起使用以转换数字的字符串表示形式,并将非数字转换为NaNs,然后将GroupBy.transformmedian一起使用原始数据填充聚合值中的新列:

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

最新更新