Python 为单个案例条件更新2列
如果指示器为“是”,则上述代码帮助我将列“规则”更新为1。 如何更新同一行中的另一列。或者我应该再写一行以上代码来更新第二列。我还想更新COL2,作为2。列“Rule”和“Column”默认为“0”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
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