Сравнение разных форматов даты и времени - PullRequest
0 голосов
/ 27 февраля 2019

Фрейм данных с именем max содержит данные в индексе

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 ', длина = 246, freq = None)

ивторой блок данных datex содержит

[метка времени ('2019-02-18 00:00:00'),

метка времени ('2019-02-07 00:00:00'),

Метка времени ('2019-02-07 00:00:00'),

Метка времени ('2019-02-07 00:00:00'),

Метка времени ('2019-02-07 00:00:00'),

Метка времени ('2019-01-31 00:00:00'),

Метка времени ('2019-01-25 00:00:00 '),

Метка времени (' 2019-01-18 00:00:00 '),

Метка времени (' 2019-01-11 00:00:00 '),

Отметка времени (' 2018-11-14 00:00:00 '),

Метка времени ('2018-11-14 00:00:00'),

Метка времени ('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

, но так как оба имеют разные форматы, я могу`t, как мне это сделать?

1 Ответ

0 голосов
/ 27 февраля 2019

Я предлагаю использовать модуль 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 объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...