日期时间列上的 Pyarrow 子集数据

Gee*_*oot 2 python pandas parquet pyarrow

我一直在尝试使用 pyarrow read_table 读取镶木地板文件并对其进行子集化。

这是代码

import pyarrow.parquet as pq


s3_uri = "Path to s3"
fp = pq.read_table(
            source = s3_uri,
            use_threads = True,
            filters = [('Date_Time' ,'>=','2022-07-08'),('Date_Time' ,'<', '2022-07-09')]
            )
print(fp.to_pandas())
Run Code Online (Sandbox Code Playgroud)

执行上述操作时出现以下错误。

pyarrow.lib.ArrowNotImplementedError:函数greater_equal没有内核匹配的输入类型(数组[timestamp[us]],标量[string])

Art*_*hur 5

它需要一个pa.TimestampScalar,您可以使用它来创建pa.scalar

import datetime

fp = pq.read_table(
    source="hello.parquet",
    use_threads=True,
    filters=[
        ('Date_Time', '>=', pa.scalar(datetime.datetime.strptime('2022-07-08', "%Y-%m-%d"))),
        ('Date_Time', '<', pa.scalar(datetime.datetime.strptime('2022-07-09', "%Y-%m-%d")))
    ]
)
Run Code Online (Sandbox Code Playgroud)