熊猫在多列数据框上应用功能

lab*_*nky 5 python pandas

当我运行以下代码时,我得到一个KeyError :('a','发生在索引a')。如何在不遇到此问题的情况下在Dataframe上应用此功能或类似功能?

运行python3.6,pandas v0.22.0

import numpy as np
import pandas as pd

def add(a, b):
    return a + b

df = pd.DataFrame(np.random.randn(3, 3), 
                  columns = ['a', 'b', 'c'])

df.apply(lambda x: add(x['a'], x['c']))
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 5

我认为需要axis=1按行进行处理的参数apply

axis : {0 或 '索引', 1 或 '列'}, 默认 0

0索引:将函数应用于每列
1:将函数应用于每行

df = df.apply(lambda x: add(x['a'], x['c']), axis=1)
print (df)
0   -0.802652
1    0.145142
2   -1.160743
dtype: float64
Run Code Online (Sandbox Code Playgroud)