我想根据两个费用列填充“指标”列。如果“Charge1”在“Charge2”值的正负 5% 以内,则将“指标”设置为 RFP,否则将其留空(参见下面的示例)。

ID  Charge1  Charge2  Indicator
1   9.5      10       RFP
2   22       20
3   41       40       RFP
4   65       80
5   160      160      RFP
6   315      320      RFP
7   613      640      RFP
8   800      700
9   759      800
10  1480     1500     RFP

我尝试使用 .loc 方法,但很难确定“Charge1”是否在“Charge2”的 +/- 5% 以内。

最佳答案

In [190]: df.loc[df.eval("Charge2*0.95 <= Charge1 <= Charge2*1.05"), 'RFP'] = 'REP'

In [191]: df
Out[191]:
   ID  Charge1  Charge2  RFP
0   1      9.5       10  REP
1   2     22.0       20  NaN
2   3     41.0       40  REP
3   4     65.0       80  NaN
4   5    160.0      160  REP
5   6    315.0      320  REP
6   7    613.0      640  REP
7   8    800.0      700  NaN
8   9    759.0      800  NaN
9  10   1480.0     1500  REP

关于python - 根据一列在另一列的 +/- 5% 范围内创建指标列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49240020/

10-09 14:03