熊猫数据框基于来自多列的输入应用lambda

时间:2019-12-05 06:26:22

标签: python pandas dataframe lambda

假设我有一个看起来像这样的数据框:


df['GlobalName'][df['GlobalName']==''] = df['IsPerson'].apply(lambda x: x if x==True else '')

如何在数据帧上应用lambda以使FullName = FirstName +''+ LastName?据我所知,lambda在数据帧中只有1个输入?谢谢!

1 个答案:

答案 0 :(得分:6)

我认为apply并不是必需的,只需将列与+一起连接:

df['FullName'] = df.FirstName + ' ' + df.LastName

或使用Series.str.cat

df['FullName'] = df.FirstName.str.cat(df.LastName, sep=' ')

可以使用lambda解决方案,但是很慢:

df['FullName'] = df.apply(lambda x: x.FirstName + ' ' + x.LastName, axis=1)