Pandas Dataframe列的条件计算

时间:2018-05-23 08:28:35

标签: python pandas if-statement

我有一个读取

的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

1 个答案:

答案 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