嘿,我正在尝试使用 y作为参数将函数应用于列 x ,因此对于我要应用 x 的每一行改为 y :
def fun(x, y):
return x + y
df['xy'] = df['x'].apply(fun, args = df['y'])
但是它不起作用。 有任何想法吗? 请注意,我的实函数并不像添加两个值一样简单
答案 0 :(得分:2)
将DataFrame.apply
与lambda函数一起使用,将axis=1
用于每行的处理:
df['xy'] = df.apply(lambda x: fun(x['x'], x['y']), axis=1)
但是,如果可能的话,最好使用矢量化操作,
df['xy'] = df['x'] + df['y']