熊猫和对象上的调用函数

cod*_*000 3 python dataframe pandas

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

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
Run Code Online (Sandbox Code Playgroud)

这失败并出现以下错误:

AttributeError: 'Series' object has no attribute 'value'

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

piR*_*red 5

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)
Run Code Online (Sandbox Code Playgroud)
df
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明