设置两个条件,它将在Pandas中返回一列及其结果

lp0sw83n  于 2022-12-16  发布在  其他
关注(0)|答案(1)|浏览(104)


I需要创建一个满足以下条件的新列。in panda
这是我当前的数据框

Ruote   B   C   D        E
R1    115   1   150     -35
R2    155   1   150     5
R3   155    6   150     5

名为F的新列

Ruote   B   C   D    E   F
R1     115  1   150 -35  0
R2     155  1   150  5   1
R3     155  6   150  5   5

列F必须满足的条件示例

IF   “E” <= 0 , Put  0
IF “C “<= “E” Put “C “on the contrary Put  “E”
k10s72fa

k10s72fa1#

Excel公式的等效公式为:

import numpy as np

np.where(df['E'].lt(0), 0, np.minimum(df['C'], df['E']))

或者,如果你的目标是C/E最小,但不低于0,那就更容易了:

df['F'] = np.minimum(df['C'], df['E']).clip(lower=0)

输出:

Ruote    B  C    D   E  F
0    R1  115  1  150 -35  0
1    R2  155  1  150   5  1
2    R3  155  6  150   5  5

相关问题