【发布时间】:2021-03-27 19:39:03
【问题描述】:
我正在将 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 pc 上运行代码时,我有时会得到答案
1607513268.17
这发生在数据框列中的所有时间戳上,是什么给出的?我还使用 Pyinstaller 从脚本中制作了 .exe 文件,但仍然是同样的问题
【问题讨论】:
-
您运行它的第二个操作系统是什么?
-
这一切都在带有 1809 更新 @sophros 的 Windows 10 上
-
为确保这不是格式问题,请设置小数位以显式打印,例如
print( f"{v:.6f}" )v 是你的价值。 -
按照@MrFuppes 的建议打印值后,我注意到时间戳的来源有时会以毫秒为单位降低分辨率
标签: python python-3.x pandas datetime unix-timestamp