比较不同的日期时间格式

时间:2019-02-27 12:43:42

标签: python date datetime

名为max的数据框1的索引中有数据

max.index

DatetimeIndex(['2018-01-01','2018-01-02','2018-01-03','2018-01-04',

'2018-01-05','2018-01-08','2018-01-09','2018-01-10',    '2018-01-11','2018-01-12',

...    '2018-12-17','2018-12-18','2018-12-19','2018-12-20',

'2018-12-21','2018-12-24','2018-12-26','2018-12-27',

'2018-12-28','2018-12-31'],

dtype ='datetime64 [ns]',name ='Date',length = 246,freq = None)

,第二个数据框datex包含

[Timestamp('2019-02-18 00:00:00'),

Timestamp('2019-02-07 00:00:00'),

Timestamp('2019-02-07 00:00:00'),

Timestamp('2019-02-07 00:00:00'),

Timestamp('2019-02-07 00:00:00'),

Timestamp('2019-01-31 00:00:00'),

Timestamp('2019-01-25 00:00:00'),

Timestamp('2019-01-18 00:00:00'),

Timestamp('2019-01-11 00:00:00'),

Timestamp('2018-11-14 00:00:00'),

Timestamp('2018-11-14 00:00:00'),

Timestamp('2018-11-13 00:00:00'),

Timestamp('2018-11-03 00:00:00')]

我想使用

比较这两个
i = 0
for dat in datex:
    if dat==max.index[i]:
        print("yay")
    else:
        print("s")
    i = i + 1

,但是由于两种格式都不一样,我该怎么做?

1 个答案:

答案 0 :(得分:0)

我建议使用dateutil模块将任意时间戳记字符串转换为统一的datetime对象:

from dateutil.parser import parse
parse('2018-04-29T17:45:25Z')

收益

datetime.datetime(2018, 4, 29, 17, 45, 25, tzinfo=tzutc())

parse('2018-04-29')

收益

datetime.datetime(2018, 4, 29, 0, 0)

您可以使用Timestamp('2019-02-18 00:00:00').to_pydatetime()将熊猫Timestamp转换为datetime对象。