gpt4 book ai didi

python - 将时间戳舍入到微秒 - pandas

转载 作者:行者123 更新时间:2023-12-02 19:19:45 26 4
gpt4 key购买 nike

我似乎找不到这个,但我确信它就在 SO 上的某个地方。我希望将时间戳四舍五入到一微秒。其他舍入频率有效,但当我尝试将以下舍入到一位小数时,它不起作用。

df = pd.DataFrame({
'time' : ['2019-08-02 09:50:10.040','2019-08-02 09:50:10.080','2019-08-02 09:50:10.170','2019-08-02 09:50:10.180'],
})

df['time'] = pd.to_datetime(df['time'])

df["time"] = df.time.dt.round("1L")

预期输出:

                     time
0 2019-08-02 09:50:10.0
1 2019-08-02 09:50:10.1
2 2019-08-02 09:50:10.2
3 2019-08-02 09:50:10.2

最佳答案

我认为您可能忽略了组合 offset aliases .

100L四舍五入应该在您的情况下给出正确的答案。 100L 将使用 100 毫秒(或 0.1 秒)的仲裁进行舍入,这正是您在本例中所需要的。您使用的是 1L,它已经是数据框中的默认值。

df = pd.DataFrame({
'time' : ['2019-08-02 09:50:10.040','2019-08-02 09:50:10.080','2019-08-02 09:50:10.170','2019-08-02 09:50:10.180'],
})

df['time'] = pd.to_datetime(df['time'])

df['time'] = df.time.dt.round('100L')

输出为:

0   2019-08-02 09:50:10.000
1 2019-08-02 09:50:10.100
2 2019-08-02 09:50:10.200
3 2019-08-02 09:50:10.200

多余的零无法被截断,但从计算角度来看,您将得到预期的结果。

关于python - 将时间戳舍入到微秒 - pandas,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63228024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com