Панды и FastParquet читают один раздел - PullRequest
2 голосов
/ 11 октября 2019

У меня ужасно долгое задание для чтения в наборе данных, который имеет естественный логический раздел в штате США. Я сохранил его как набор данных с разбитым паркетом из панд с помощью fastparquet (используя pd.write_parquet).

Я хочу, чтобы мой собеседник мог читать только в одном разделе (состоянии) из созданной папки паркета. read_parquet не имеет возможности фильтра. есть идеи?

1 Ответ

0 голосов
/ 23 октября 2019

Попробуйте использовать dask или parquet ридер. Фильтрация через pandas сработала для меня.

Как прочитать файл паркета с условием, используя pyarrow в Python

RUN pip install pyarrow
RUN pip install "dask[complete]"

import pyarrow.parquet as pq
import dask.dataframe as dd
import pandas as pd

path = ""
dask_df = dd.read_parquet(path, columns=["col1", "col2"], engine="pyarrow")

dask_filter_df = dask_df[dask_df.col1 == "filter here"]

path = ""
parquet_pandas_df = pq.ParquetDataset(path).read_pandas().to_pandas()

pandas_filter_df = parquet_pandas_df[parquet_pandas_df.col1 == "filter here"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...