Как разбросить строковую дату, которая агрегируется по часам в формате даты в python? - PullRequest
0 голосов
/ 24 июня 2019

В настоящее время я работаю со специальным форматом даты строки, который агрегируется по часам, вот пример:

date
0   2019-03-05-19
1   2019-03-05-19
2   2019-03-05-19
3   2019-03-05-19
4   2019-03-08-17

Например, для любого часа n между 1AM и 2PM (1:00, 1:10, 1:15, ...) его значение времени будет преобразовано в число 19 в конце строки, между 2AM и 3PM значения будут 17, ...

Я хотел бы сохранить этот специальный формат для своего исследования, но я ищу, как изменить формат строки в распознаваемом формате даты, который мог бы понять специфику моей строки даты. Есть ли у вас решение?

1 Ответ

0 голосов
/ 24 июня 2019

Непонятно, как вы говорите, «в любой час п между 1:00 и 2:00», но вот мое решение:

>>> d = {'19': ' 01:00', '17': ' 14:00'}
>>> pd.to_datetime(df['date'].str.rsplit('-', 1).apply(lambda x: x[0] + d[x[1]]))
0   2019-03-05 01:00:00
1   2019-03-05 01:00:00
2   2019-03-05 01:00:00
3   2019-03-05 01:00:00
4   2019-03-08 14:00:00
Name: date, dtype: datetime64[ns]
>>> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...