嗨,为什么这种代码行不通?以及如何使其与熊猫一起使用?
我只是想对特定产品采用不同的税率,而对所有其他产品采用不同的税率。
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
答案 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