针对单个案例条件更新2列

时间:2018-03-13 11:17:27

标签: python pandas

df['RULE'] = 0
df['COLUMN'] = 0
df.ix[((df['IND'].str.upper() == 'YES')), 'RULE'] = 1

如果指标为“是”,上面的代码可以帮助我将列'RULE'更新为1。 如何在同一行中再更新一列。或者我应该再写一行上面的代码来更新第二列。我也想更新COL2,因为2.列'规则'和'列'默认为'0'

IND RULE COL2
YES 1    2
NO  0    0
YES 1    2    

1 个答案:

答案 0 :(得分:3)

您可以按列表指定多个列并指定值列表:

df = pd.DataFrame({'IND':['YES','NO', 'YES']})

df['RULE'] = 0
df['COL2'] = 0
df.loc[df['IND'].str.upper() == 'YES', ['RULE', 'COL2']] = [1, 2]

print (df)
   IND  RULE  COL2
0  YES     1     2
1   NO     0     0
2  YES     1     2