当我运行以下代码时,我得到一个 KeyError: ('a', 'occurred at index 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']))
最佳答案
我认为 apply
中的行进程需要参数 axis=1
:
axis: {0 or 'index', 1 or 'columns'}, default 0
0 or index: apply function to each column
1 or columns: apply function to each row
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
关于python - Pandas 在多列数据框上应用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49379731/