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

2024-09-28 03:14:24 发布

您现在位置:Python中文网/ 问答频道 /正文

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

>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"))

其中一个是datetime对象:

>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

Tags: columns数据lambda类型datetimeobjectdtdeb

热门问题