我有一个读取
的pandas数据框Category Sales
A 10
B 20
我想要有条件地创建新的列目标
我希望我的目标df看起来像
Category Sales Target
A 10 5
B 20 10
我使用了以下代码并且它引发了错误
if(df['Category']=='A'):
df['Target']=df['Sales']-5
else:
df['Target']=df['Sales']-10
答案 0 :(得分:2)
使用矢量化numpy.where
:
df['Target']= np.where(df['Category']=='A', df['Sales'] - 5, df['Sales'] - 10)
print (df)
Category Sales Target
0 A 10 5
1 B 20 10