【问题标题】:Rounding Time off to MicroSeconds将时间四舍五入到微秒
【发布时间】:2017-12-26 09:41:17
【问题描述】:

如何在 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")

但是,这会将其降低到纳秒级。我希望它在微秒内完成,但不确定最好的方法是什么。你能告诉我吗?

【问题讨论】:

  • 你可以截断字符串:time['Out'].str[:23]

标签: python pandas numpy timestamp unix-timestamp


【解决方案1】:

要显示正确的小数位数,您可以使用时间戳的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'。

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

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

注意最后一位数字现在是如何正确四舍五入的:'2016-05-07 08:29:58.387889'。

【讨论】:

    猜你喜欢
    • 2021-12-11
    • 2018-05-27
    • 2014-12-12
    • 1970-01-01
    • 2018-06-03
    • 2021-12-16
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    相关资源
    最近更新 更多