Python:将float转换为datetime时间戳

时间:2018-09-12 11:34:05

标签: python pandas datetime timestamp

如何转换以下浮点数:

9.3125

对应于某个时间,并转换为适当的Pandas时间戳,例如:

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 :(得分:1)

我认为需要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

答案 1 :(得分:0)

受以上答案的启发,我已验证以下内容对我有效:

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