Python: преобразование float в метку даты и времени - PullRequest
0 голосов
/ 12 сентября 2018

Как я могу преобразовать следующее число с плавающей точкой:

9.3125

, которое соответствует времени, в правильную метку времени Панд, например:

Timestamp('2017-11-13 10:00:00')

Число с плавающей точкой относится к тому же дню, месяцу и году, что и в приведенной выше временной метке. Я пытался это:

from datetime import datetime
datetime.fromtimestamp(9.3125).strftime('%Y-%m-%d %H')

но это возвращает:

OSError: [Errno 22] Invalid argument

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

Вдохновленный ответами выше, я убедился, что у меня работает следующее:

num = 9.3125
a = pd.Timestamp('2017-11-13')  + pd.to_timedelta(num, unit='H').ceil('min')
print (a)
Timestamp('2017-11-13 09:19:00')
0 голосов
/ 12 сентября 2018

Я считаю, что нужно Timedelta.ceil:

num = 9.3125
a = pd.Timestamp('2017-11-13')  + pd.to_timedelta(num, unit='H').ceil('H')
print (a)
2017-11-13 10:00:00
...