我有一个对象类型的列,我想将对象的属性访问到另一列中。
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
关于python - Pandas 和对象上的调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40291122/