将函数应用于以其他列作为参数的熊猫列

时间:2019-10-24 13:40:33

标签: python pandas apply

嘿,我正在尝试使用 y作为参数将函数应用于列 x ,因此对于我要应用 x 的每一行改为 y

def fun(x, y):
    return x + y



df['xy'] = df['x'].apply(fun, args = df['y'])

但是它不起作用。 有任何想法吗? 请注意,我的实函数并不像添加两个值一样简单

1 个答案:

答案 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']