使用lambda在Pandas中创建一个新变量

时间:2017-11-17 00:43:57

标签: python pandas lambda

如果我想在Pandas中执行以下操作,我该如何使用Lambda:

df['c'] = 0
df['c'][(df['a']==1) | (df['b'] ==1)] = 1

由于

2 个答案:

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