Mos*_*man 1 python if-statement pandas
我有一个 pandas 数据框,其内容如下
Category Sales
A 10
B 20
Run Code Online (Sandbox Code Playgroud)
我想有条件地创建新列目标
我希望我的目标 df 看起来像
Category Sales Target
A 10 5
B 20 10
Run Code Online (Sandbox Code Playgroud)
我使用了下面的代码,它引发了一个错误
if(df['Category']=='A'):
df['Target']=df['Sales']-5
else:
df['Target']=df['Sales']-10
Run Code Online (Sandbox Code Playgroud)
使用矢量化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
Run Code Online (Sandbox Code Playgroud)