【问题标题】:How to save timestamps in parquet files in C++ and load it in Python Pandas?如何在 C++ 中的 parquet 文件中保存时间戳并在 Python Pandas 中加载它?
【发布时间】:2019-05-08 18:51:25
【问题描述】:

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

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

【问题讨论】:

    标签: c++ pandas parquet pyarrow


    【解决方案1】:

    您需要改用arrow::TimestampTypeDate32TypeDate64Type只支持日分辨率;它们的内部表示有点不同(自 UNIX 时代以来的int32_t 天与自 UNIX 时代以来的int64_t 毫秒)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 2019-09-28
      • 2021-02-19
      • 1970-01-01
      相关资源
      最近更新 更多