首页 > 解决方案 > 如何在 C++ 中的镶木地板文件中保存时间戳并在 Python Pandas 中加载它?

问题描述

Apache Arrow在 C++ 中使用将时间序列集合保存为 parquet 文件,并使用 python 将 parquet 文件加载为Pandas Dataframe. 该过程适用于除Date64Type. 我在 C++ 中保存纪元时间,当在熊猫中加载它时,时间信息会丢失。

例如对于 boost posix time : 2018-04-01T20:11:17.112Z,纪元时间 (in int64_t) 是1522613477112000,但是当我将 parquet 文件保存为 ( Date64Type) 并加载到 pandas 时,结果是2018-04-01并且时间信息丢失了。在镶木地板文件中保存时间戳的正确方法是什么?

标签: c++pandasparquetpyarrow

解决方案


你需要arrow::TimestampType改用。Date32Type并且Date64Type只支持日解析;它们的内部表示有点不同(int32_t自 UNIX 纪元以来的天数与int64_t自 UNIX 纪元以来的毫秒数)


推荐阅读