2017-10-10 21 views
0

나는 Pandas 'DataFrame을 수정하고 관리하기 위해 Python 3에서 컨텍스트 관리자를 만들었습니다.DataFrame 용 사용자 정의 ContextManager

나는 세 가지 기능, 삭제, 업데이트 및 삽입이 있습니다.

내 질문에, 어떻게 다시 데이터 시트의 결과를 다시 전달할 수 있습니다 함께 외부 사용자에게?

```

df = pd.DataFrame() 

with Editor(df) as editor: 
    for idx, row in editor: 
     row['COLUMN'] = "RANDOM VALUE" 
     editor.update(idx, row) 

df['COLUMN'] # still has original values  

```

가 어떻게 다시 ContextManager에서 내 업데이트 된 값을받을 수 있나요?

class Editor(): 
    def __init__(self, df): 
     self.df = df 

    def __enter__(self): 
     return self.df 

    def __exit__(self, *args): 
     pass 

    def update(self): 
     pass 

그래서 당신이 뭔가가 루프 완료 후 바로 df = editor.df 처럼을 할 수있는 수정 된 개체를 얻을 :

+0

편집기 개체 데이터를 사용하지 않으려는 이유는 무엇입니까? 처음에 개체를 만드는 이유는 무엇입니까? 고정 또는 모듈 삭제, 업데이트 및 삽입 메소드 및 df 자체에 대한 루프는 어떻습니까? 컨텍스트 관리자도 필요 없습니다. – ali

답변

0

귀하의 상황에 맞는 매니저는 아마 다음과 같이 보입니다.

컨텍스트 관리자에서 어떤 이점을 얻었는지 확실하지 않습니다.