python - Pandas 和对象上的调用函数

标签 python pandas dataframe

我有一个对象类型的列,我想将对象的属性访问到另一列中。

import pandas as pd

class foo(object):
    @property
    def value(self):
        return "bar"


if __name__ == "__main__":
    a = [foo(), foo(), foo()]
    df = pd.DataFrame(data=a, columns=['test'])
    df['value'] = df['test'].value

失败并出现以下错误:

AttributeError: 'Series' 对象没有属性 'value'

有没有办法调用类的属性或函数来填充新列?

最佳答案

class foo(object):
    @property
    def value(self):
        return "bar"


if __name__ == "__main__":
    a = [foo(), foo(), foo()]
    df = pd.DataFrame(data=a, columns=['test'])
    df['value'] = df['test'].apply(lambda x: x.value)

df

enter image description here

关于python - Pandas 和对象上的调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40291122/

相关文章:

python - 按列对 csv 进行排序时出错

python - django 无法读取静态文件夹中的 css 文件

python - pandas滚动窗口: variable length from start to x

Python:如何在给定数字数组的情况下绘制 cdf 函数

scala - 计算一行的秩

r - 减去具有不同行数的数据帧?

python - 使用 Python pandas,我如何创建一个函数来计算代表比前一行更低值的行的比例?

python - 分组 Pandas 数据框中的 If 语句

python - 使用 seaborn 绘制时间序列数据

python - 遍历列以将每个列与 Python 中的特定列进行比较