0

所以,我有看起来像这样的数据:

 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。

我怎么能这样做?我完全迷路了。

4

0 回答 0