Python 使用lambda在Pandas中创建新变量

Python 使用lambda在Pandas中创建新变量,python,pandas,lambda,Python,Pandas,Lambda,如果我想在熊猫中执行以下操作,如何使用Lambda执行: df['c'] = 0 df['c'][(df['a']==1) | (df['b'] ==1)] = 1 谢谢我无法证明使用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)) 可以使用“应用”,但可以更改轴 import pa

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

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

谢谢

我无法证明使用
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))

可以使用“应用”,但可以更改轴

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)

我习惯于做以下事情(基于另一个变量创建一个两类c变量):
df['c']=df['a'].map(如果x>5,则lambda x:0,否则1)
我可以使用一个变量做类似的事情吗?是的,但我不建议这样做