如何转换以下浮点数:
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
答案 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')