【发布时间】:2019-07-31 13:33:31
【问题描述】:
我有三列:BatchID、UnitID 和 Score。
目前,数据集如下所示:
BatchID UnitID Score
A123 A123-100 0.111
A123 A123-101 0.121
A123 A123-102 0.101
A123 A123-103 0.102
B456 B456-200 0.211
B456 B456-201 0.221
C789 C789-001 0.199
C789 C789-002 0.189
C789 C789-003 0.192
C789 C789-004 0.201
... ... ...
我想添加一个“中位数”列,该列获取每个 BATCH 分数的中位数,并将其放在其余数据旁边(在唯一的 Batch 中为每个单元重复相同的中位数)。像这样的:
BatchID UnitID Score Median
A123 A123-100 0.111 0.1065
A123 A123-101 0.121 0.1065
A123 A123-102 0.101 0.1065
A123 A123-103 0.102 0.1065
B456 B456-200 0.211 0.2160
B456 B456-201 0.221 0.2160
C789 C789-001 0.199 0.1955
C789 C789-002 0.189 0.1955
C789 C789-003 0.192 0.1955
C789 C789-004 0.201 0.1955
... ... ... ...
除其他外,我尝试了 groupby,但鉴于我真的不知道在这种情况下如何使用它,这并没有给我想要的输出。
谢谢!
【问题讨论】:
-
生成此数据的代码是什么样的?你试过什么代码?
-
df.groupby('BatchID')['Score'].transform('median') -
你之前就有过,不要使用有问题的图片或链接。
标签: python pandas pandas-groupby median