如果值符合条件,则将其乘以变量;否则,将另一个变量乘以

时间:2020-08-20 14:42:45

标签: python pandas

嗨,为什么这种代码行不通?以及如何使其与熊猫一起使用?

我只是想对特定产品采用不同的税率,而对所有其他产品采用不同的税率。

d = {'Product':['Banana','Orange','Grape'],
     'Value':[100,80,30]}

df = pd.DataFrame(data=d)

x = 0.25
y = 0.5

for value in df['Product']:
    if value=="Banana":
        df['Tax'] = df['Value'] * x
    else:
        df['Tax'] = df['Value'] * y

1 个答案:

答案 0 :(得分:1)

创建一个面具然后应用它

mask = df['Product'].eq('Banana')
df.loc[mask, 'Tax'] = df['Value'] * x
df.loc[~mask, 'Tax'] = df['Value'] * y

或者我想节省几毫秒

df['Tax'] = df['Value'] * y
df.loc[df['Product'].eq('Banana'), 'Tax'] = df['Value'] * x
相关问题