2017-01-12 7 views
0

왜 세 번째 개체가 타임 스탬프 개체 아래에 있습니까? 나는 Time 객체를 기대하고 있었다. 여기 pandas.Timestamp를 서브 클래 싱하는 방법?

import pandas as pd 
from datetime import datetime 

class Time(pd.Timestamp): 
    def __new__(cls, *args, **kwargs): 
     return pd.Timestamp.__new__(cls, *args, **kwargs) 

print type(Time(datetime(2012, 5, 1))) 
print type(Time('2012-05-01')) 
print type(Time(2012, 5, 1)) 

는 파이썬 2.7.11에서 내가보고 결과와 팬더 0.19.0 있습니다 :이 귀하의 질문에 대답하지 않습니다 알고

<class '__main__.Time'> 
<class '__main__.Time'> 
<class 'pandas.tslib.Timestamp'> 

답변

0

하지만, 참고로 나는

<class '__main__.Time'> 
를 얻을 수

모두 3 (python 2.7.13 및 pandas 0.18.1)

당신이 보는 행동은 0.19에서 소개되었습니다.

Here은 관련 코드 변경입니다.

0

이 작동하지만, 우아한 세계 pandas.Timestamp.__new__ 나를 위해 클래스 할당을 할 것입니다 :

import pandas as pd 
from datetime import datetime 

class Time(pd.Timestamp): 
    def __new__(cls, *args, **kwargs): 
     time = pd.Timestamp.__new__(cls, *args, **kwargs) 
     time.__class__ = cls 
     return time 

print type(Time(datetime(2012, 5, 1))) 
print type(Time('2012-05-01')) 
print type(Time(2012, 5, 1)) 
관련 문제