Series
서브 클래스의 숫자를 포함하는
DataFrame
를 만들
한다. 그러나 DataFrame
에 할당되면 서브 클래스는 Series
에서 제거 된 것으로 보입니다.파이썬은 팬더 : 저장 시리즈 서브 클래스를 DataFrame 열
는 여기에 문제 설명하기 위해 장난감 예제 :이 문제는 이전에 #1713 제기되었을 수도 있습니다 본 적이
>>> import pandas as pd
>>> class SeriesSubclass(pd.Series):
... @property
... def _constructor(self):
... return SeriesSubclass
... def times_two(self):
... """Method I need in this subclass."""
... return self * 2
...
>>> subclass = SeriesSubclass([7, 8, 9])
>>> type(subclass) # fine
<class '__main__.SeriesSubclass'>
>>> subclass.times_two() # fine
0 14
1 16
2 18
dtype: int64
>>>
>>> data = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=list('ABC'))
>>> data['D'] = subclass
>>> type(data['D']) # not good
<class 'pandas.core.series.Series'>
>>> data['D'].times_two() # not good
Traceback (most recent call last):
...
AttributeError: 'Series' object has no attribute 'times_two'
을,하지만 난 실제 솔루션을 식별 할 수 있습니다. 거대한 도서관이기 때문에 다양한 PR, doc 버전 등을 따르기가 어렵습니다. 서브 클래 싱 역학은 내가 말할 수있는 한 잘 나타나지 않는 것 같습니다 (this seems to be it).