我可以通过定义用户函数然后使用 apply 在 Panda 中添加新列。但是,我想使用以下方法来做到这一点lambda;有办法吗?
例如,df
有两列a
and b
。我想创建一个新专栏c
这等于之间的最长长度a
and b
.
df = pd.DataFrame({'a':['dfg','f','fff','fgrf','fghj'], 'b' : ['sd','dfg','edr','df','fghjky']})
就像是:
df['c'] = df.apply(lambda x, len(df['a']) if len(df['a']) > len(df['b']) or len(df['b']) )
一种方法:
df['c'] = df.apply(lambda x: max([len(x) for x in [df['a'], df['b']]]))
它给出了一列 NaN。
a b c
0 dfg sd NaN
1 f dfg NaN
2 fff edr NaN
3 fgrf df NaN
4 fghj fghjky NaN