如何在python中将时间戳舍入到微秒?

我有这样的时间戳。

   2016-05-07 08:29:58.387888640


我已经使用格式格式化了

   %Y-%m-%d %H:%M:%S.%f


从这样的数据框中

  pd.to_datetime(time['Out'], format="%Y-%m-%d %H:%M:%S.%f")


但是,这使它降至纳秒级。我希望在微秒内将其舍入,但是不确定执行此操作的最佳方法是什么。你能告诉我吗?

最佳答案

要显示正确的小数位数,可以使用时间戳的strptime方法-其%f指令设置为在microseconds中。

tstamp = pd.Timestamp('2016-05-07 08:29:58.387888640')
tstamp.strftime("%Y-%m-%d %H:%M:%S.%f")


这只是将等效字符串截断为'2016-05-07 08:29:58.387888'

如果您担心舍入错误,还应该调用为熊猫的时间戳定义的round方法并设置分辨率:

tstamp.round("1 us").strftime("%Y-%m-%d %H:%M:%S.%f")


请注意如何正确地对最后一位数字进行四舍五入:'2016-05-07 08:29:58.387889'

关于python - 四舍五入到微秒,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45218994/

10-16 12:03