Python:将float转换为datetime时间戳
如何转换以下浮点值:Python:将float转换为datetime时间戳,python,pandas,datetime,timestamp,Python,Pandas,Datetime,Timestamp,如何转换以下浮点值: 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 我认为需要: 受上述
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
我认为需要:
受上述答案的启发,我已证实以下内容对我有效:
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')
但是9.3125对应于大约09:19,所以如果我使用
float(num)
而不是int(num)
我得到:ValueError:time data'2017-11-13 9.3125'与指定的格式不匹配,那么这个解决方案会让我损失这19分钟。
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')