如果我想在Pandas中执行以下操作,我该如何使用Lambda:
df['c'] = 0
df['c'][(df['a']==1) | (df['b'] ==1)] = 1
由于
答案 0 :(得分:2)
我无法证明使用lambda
df.assign(c=df[['a', 'b']].eq(1).any(1).astype(int))
但如果你坚持:
df.assign(c=lambda d: d[['a', 'b']].eq(1).any(1).astype(int))
答案 1 :(得分:1)
您可以使用“应用”但更改轴。
import pandas as pd
df =pd.DataFrame({'a':[1,2], 'b':[1,2]})
df['c'] = df.apply(lambda df: 1 if(df['a'] == 1| df['b']==1) else 0, axis = 1)