【发布时间】:2017-11-17 00:43:57
【问题描述】:
如果我想在 Pandas 中执行以下操作,我该如何使用 Lambda:
df['c'] = 0
df['c'][(df['a']==1) | (df['b'] ==1)] = 1
谢谢
【问题讨论】:
如果我想在 Pandas 中执行以下操作,我该如何使用 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))
【讨论】:
df['c'] = df['a'].map(lambda x: 0 if x>5 else 1) 我可以使用一个变量做类似的事情吗?
您可以使用 apply 但更改轴。
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)
【讨论】: