첫 번째 질문 :'내 자신의 방법과 기능 Dataframe 클래스를
내가 판다 함께 일하고'DataFrames 내가 자주 데이터 사전 처리 및 기타의 일부와 같은 루틴을 실행하고 소지품. 이 두 가지 루틴 중 일부를 을 확장하는 ExtendedDataframe
클래스의 메소드로 작성하고 싶습니다. 나는 이것에 대해 어떻게 가야할지 모른다. 이 pandas.DataFrame
로부터 상속 한 것 때문에 지금까지, 나는 나의 새로운 클래스의 모든 __init__
을 쓰고 있지 않다 :
import pandas
class ExtendedDataframe(pandas.DataFrame):
def some_method(self):
blahblah
을이 분명히 상속에 의해 ExtendedDataframe
의 인스턴스를 생성 나를 수 있습니다. 하지만 보통 pandas.read_csv
과 같은 데이터를로드하는 경우 DataFrame
을 반환합니다. 어떻게 이러한 csv 데이터를로드 할 수 있고 표준 DataFrame
에 제공된 것의 위에 내 방법을 사용하기 위해 ExtendedDataframe
으로 전환 할 수 있습니까? 로딩 단계에서 DataFrame
표준을 반환하면 ExtendedDataframe
으로 변환하면됩니다.
두 번째 질문 :
없음 내가 사용하는 모든 팬더 '기능은 DataFrame 방법이 있습니다. 일부는 pandas.merge
과 같이 DataFrames를 인수로 사용하는 함수입니다. 어떻게 이러한 함수의 사용을 내 ExtendedDataframe
클래스의 인스턴스로 확장 할 수 있습니까? otherwords에서, 만약 df1
및 df2
는 ExtendedDataframe
의 두 인스턴스 내가 그냥 DataFrame
의 표준 인스턴스 때와 같은
pandas.merge([df1, df2], ...)
일을 어떻게,입니까?
실제로 가능한 해결책입니다. 감사합니다! 그렇지 않으면 단순히 빌트인 클래스에 메소드/속성을 추가하는 좋은 일반적인 방법이 있습니까? – Ben
당신이 실행할 문제는 내장 된 메소드를 호출하자마자 사용자 정의 된 DataFrame이 아닌 정상적인 DataFrame을 반환한다는 것입니다. –
그래, 유일한 해결책은 빌트인 클래스 자체를 수정하는 것일 것입니다. (그렇게하고 싶지 않습니다.) – Ben