我有一个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
答案 0 :(得分:0)
似乎我在“9999/12/31”中有一个约会,这弄得一团糟。