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