【发布时间】:2018-12-17 01:32:38
【问题描述】:
我正在尝试使用dask read_parquet 方法和filters kwarg 读取镶木地板文件。但是它有时不会根据给定的条件进行过滤。
示例:
使用dates 列创建和保存数据框
import pandas as pd
import numpy as np
import dask.dataframe as dd
nums = range(1,6)
dates = pd.date_range('2018-07-01', periods=5, freq='1d')
df = pd.DataFrame({'dates':dates, 'nums': nums})
ddf = dd.from_pandas(df, npartitions=3).to_parquet('test_par', engine = 'fastparquet')
当我从'test_par' 文件夹中读取和过滤dates 列时,它似乎不起作用
filters=[('dates', '>', np.datetime64('2018-07-04'))]
df = dd.read_parquet('test_par', engine='fastparquet', filters=filters).compute()
正如您在输出中看到的那样,2018-07-03 和 2018-07-04 存在。
+-------+------------+------+
| | dates | nums |
+-------+------------+------+
| index | | |
+-------+------------+------+
| 2 | 2018-07-03 | 3 |
+-------+------------+------+
| 3 | 2018-07-04 | 4 |
+-------+------------+------+
| 4 | 2018-07-05 | 5 |
+-------+------------+------+
我做错了吗?还是我应该在 github 上报告这个?
【问题讨论】:
标签: python dataframe filtering dask fastparquet