python datetime.datetime返回两种不同的类型



我有一个pandas数据帧,返回两种不同的类型:

>contrats[["DT_DEB_CTRT","DT_FIN_REELLE"]].ix[0]
DT_DEB_CTRT      2012-01-05:00:00:00
DT_FIN_REELLE    2013-01-31:00:00:00
Name: 0, dtype: object

当我想转换datetime中的日期时,我得到了两种不同的回报:

>contrats.DT_DEB_CTRT = contrats.DT_DEB_CTRT.apply(lambda x : datetime.datetime.strptime(x, "%d%b%Y:00:00:00"))
>contrats.DT_FIN_REELLE = contrats.DT_FIN_REELLE.apply(lambda x : datetime.datetime.strptime(x, "%d%b%Y:00:00:00"))

在一个上,我得到了一个日期时间对象:

>contrats.DT_FIN_REELLE[0]
datetime.datetime(2013, 1, 31, 0, 0)

但在另一个例子中,我得到了一个时间戳:

>contrats.DT_DEB_CTRT[0]
Timestamp('2012-01-05 00:00:00')

知道为什么吗??

编辑

contrats.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4291241 entries, 0 to 4291240
Data columns (total 15 columns):
DT_DEB_CTRT               object
DT_FIN_REELLE             object
dtypes: float64(7), object(8)
memory usage: 491.1+ MB

我似乎在"9999/12/31"有个约会,搞得一团糟。

相关内容

最新更新