python - Pandas 在多列数据框上应用函数

标签 python pandas

当我运行以下代码时,我得到一个 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/

相关文章:

python - 如何在虚拟环境中安装SIP和PyQt?

python - 你如何在 Python 中使用 Keras LeakyReLU?

python - 发送 key 不起作用 selenium webdriver python

python - 如何使用 Pandas 重命名重置索引上的多个列

Python Pandas 数据框搜索

python - 使用 Pandas 执行一次热编码

python-3.x - 在 Python 中规范化嵌套列表时出错

python - 使用 arabic-reshaper 和 python-bidi (在多行情况下)时如何修复反向行?

python - 如何使用 python 更新 MongoDB 文档?

python - 值错误: time data '10/11/2006 24:00' does not match format '%d/%m/%Y %H:%M'