Python 为单个案例条件更新2列

Python 为单个案例条件更新2列,python,pandas,Python,Pandas,如果指示器为“是”,则上述代码帮助我将列“规则”更新为1。 如何更新同一行中的另一列。或者我应该再写一行以上代码来更新第二列。我还想更新COL2,作为2。列“Rule”和“Column”默认为“0” df['RULE'] = 0 df['COLUMN'] = 0 df.ix[((df['IND'].str.upper() == 'YES')), 'RULE'] = 1 您可以按列表指定多列并指定值列表: IND RULE COL2 YES 1 2 NO 0 0 YES 1

如果指示器为“是”,则上述代码帮助我将列“规则”更新为1。 如何更新同一行中的另一列。或者我应该再写一行以上代码来更新第二列。我还想更新COL2,作为2。列“Rule”和“Column”默认为“0”

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

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

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

如果Col2是一个列表?同样,更快:)@zipa-sosorry@TomJMuthirenthi-
COL2
是列名:“警告:从0.20.0开始,.ix索引器已被弃用,取而代之的是更严格的.iloc和.loc索引器。”
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