使用Dask阅读时如何按日期时间列过滤Parquet文件?

我想在使用 Dask 读取 Parquet 文件时对其进行过滤,但我无法正确处理并不断收到相同的错误。

TypeError: '>=' not supported between instances of 'Timestamp' and 'str'

我目前的做法是:

ddf = dd.read_parquet(path="s3://[BUCKET_NAME]/[FOLDER/PREFIX]/*",columns=['COL1','COL2','DATE_COL'],filters=[[('DATE_COL','>=','2020-05-01'),('DATE_COL','<','2020-06-01')]],engine="pyarrow-dataset")

'DATE_COL' 具有 dtype datetime64[ns] 和一些 NaT 值。其他列具有 dtype object

有人知道怎么做吗?也许我需要提供 dtype 参数,如果是这种情况,我该如何告诉 read_parquet() 方法“DATE_COL”是日期时间列?

更新

如果我尝试以下操作:

ddf = dd.read_parquet(path="s3://[BUCKET_NAME]/[FOLDER/PREFIX]/*",pd.Timestamp('2020-05-01')),pd.Timestamp('2020-06-01'))]],engine="pyarrow-dataset")

我收到此错误:

TypeError: Cannot compare tz-naive and tz-aware timestamps
z15dgh354588 回答:使用Dask阅读时如何按日期时间列过滤Parquet文件?

TypeError:无法比较 tz-naive 和 tz-aware 时间戳

这表明您应该为时间戳指定一个时区,例如pd.Timestamp('2020-05-01',tz="US/Eastern")

本文链接:https://www.f2er.com/10607.html

大家都在问