2016-10-27 3 views
2

개체 유형의 열이 있는데 개체의 속성에 다른 열로 액세스하려고합니다.개체의 팬더 및 호출 함수

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' object has no attribute 'value'

있습니까?

df 

enter image description here

+0

어떻 – MaxU

+0

그냥 '열'값을 test와 같은 객체로 설정하면 foo 객체의 속성 값을 열 값으로 가져옵니다. foo() .df [value ']의 값 –

답변

3
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 [ '값'] = 안양 [ '검사'] '?