我有一个 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
最佳答案
使用矢量化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
关于python - Pandas Dataframe 列的条件计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50483428/