Python 当 运行 脚本在不同的计算机上时,strptime 缺少几毫秒
Python strptime missing some milliseconds when running script in different computer
我正在将 pandas 数据帧时间戳列格式化为 unix 时间戳,如下所示
from datetime import datetime
df["col_in_unix"] = df["example_col"].\
apply(lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S.%f').timestamp())
当运行在我的电脑上运行这个时,我从一个时间戳中得到
datetime.strptime("2020-12-09 13:27:48.172793", '%Y-%m-%d %H:%M:%S.%f').timestamp()
1607513268.172793
但是当我 运行 代码在不同的 windows 电脑上时,我有时会得到答案
1607513268.17
数据帧列中的所有时间戳都会发生这种情况,这是怎么回事?我也用 Pyinstaller 从脚本制作了 .exe 文件,但仍然是同样的问题
我想知道这是否与以下两者无关:
- Differences in system time resolution由于硬件/驱动等不同
- Similar issue 在 C# 中针对 Windows 32b 与 64b 进行了描述
(您可能会在 Python 的 32b 和 64b 版本之间观察到类似的问题)。
- 一些其他因素
我正在将 pandas 数据帧时间戳列格式化为 unix 时间戳,如下所示
from datetime import datetime
df["col_in_unix"] = df["example_col"].\
apply(lambda x: datetime.strptime(x, '%Y-%m-%d %H:%M:%S.%f').timestamp())
当运行在我的电脑上运行这个时,我从一个时间戳中得到
datetime.strptime("2020-12-09 13:27:48.172793", '%Y-%m-%d %H:%M:%S.%f').timestamp()
1607513268.172793
但是当我 运行 代码在不同的 windows 电脑上时,我有时会得到答案
1607513268.17
数据帧列中的所有时间戳都会发生这种情况,这是怎么回事?我也用 Pyinstaller 从脚本制作了 .exe 文件,但仍然是同样的问题
我想知道这是否与以下两者无关:
- Differences in system time resolution由于硬件/驱动等不同
- Similar issue 在 C# 中针对 Windows 32b 与 64b 进行了描述 (您可能会在 Python 的 32b 和 64b 版本之间观察到类似的问题)。
- 一些其他因素