Python 在对象上创建和调用函数
我有一个Object类型的列,我想将该对象的属性访问到另一个列中Python 在对象上创建和调用函数,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个Object类型的列,我想将该对象的属性访问到另一个列中 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'
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['value']=df['test']
?这将只是将列'value'设置为与test相同的对象,我要做的是将对象的属性值foo转换为列值:foo()。将值转换为df['value']
df