所以,我有看起来像这样的数据:
BatchID UnitID Score Median
0 A123 A123-100 0.111 0.1065
1 A123 A123-101 0.121 0.1065
2 A123 A123-102 0.101 0.1065
3 A123 A123-103 0.102 0.1065
4 B456 B456-200 0.211 0.2160
5 B456 B456-201 0.221 0.2160
6 C789 C789-001 0.199 0.1955
7 C789 C789-002 0.189 0.1955
8 C789 C789-003 0.192 0.1955
9 C789 C789-004 0.201 0.1955
每个单元(UnitID)都有一个分数,属于一个批次(Batch ID)。本来这个表是没有“Median”列的,但是我df['Median'] = df.groupby('BatchID')['Score'].transform('median')
以前自己创建的。
现在我想要一个名为“R-Sigma”的新列,在其中我将这个 Robust Sigma 公式应用于每个值:
RS = IQR/1.349
我不知道如何使用 IQR 函数,这是我的第一个问题,以及如何将此计算应用于每个值。
最后,我想要另外两列,一列称为“上限”,一列称为“下限”,分别计算中位数 +/- 6 * Robust Sigma。
我怎么能这样做?我完全迷路了。