pandas.read_parquet
- pandas.read_parquet(path, engine='auto', columns=None, storage_options=None, use_nullable_dtypes=_NoDefault.no_default, dtype_backend=_NoDefault.no_default, filesystem=None, filters=None, **kwargs)[source]
-
Загрузка объекта parquet из файла по пути, возвращая DataFrame.
- Параметры:
-
- path:str, path object или file-like object
-
Строка, объект пути (реализующий
os.PathLike[str]), или объект file-like, реализующий бинарнуюread()функцию. Строка может быть URL. Допустимые схемы URL включают http, ftp, s3, gs и file. Для URL файлов ожидается хост. Локальный файл может быть:file://localhost/path/to/table.parquet. URL файла также может быть путем к каталогу, который содержит несколько разнесённых файлов parquet. Как pyarrow, так и fastparquet поддерживают пути к каталогам, а также URL файлов. Путь к каталогу может быть:file://localhost/path/to/tablesилиs3://bucket/partition_dir. - engine:{‘auto’, ‘pyarrow’, ‘fastparquet’}, по умолчанию ‘auto’
-
Библиотека parquet для использования. Если ‘auto’, тогда используется опция
io.parquet.engine. По умолчаниюio.parquet.engineповедение заключается в попытке использования ‘pyarrow’, переходя к ‘fastparquet’, если ‘pyarrow’ недоступен.При использовании
'pyarrow'движка и отсутствии параметров хранения и реализации файловой системы какpyarrow.fsтак иfsspec(например, «s3://»), то сначала используетсяpyarrow.fsфайловая система. Используйте ключевое слово filesystem с экземпляром fsspec filesystem, если хотите использовать его реализацию. - columns:список, по умолчанию=None
-
Если не None, то будут считаны только эти столбцы из файла.
- storage_options:словарь, необязательно
-
Дополнительные опции, которые имеют смысл для конкретного соединения хранения, например, хост, порт, имя пользователя, пароль и т. д. Для HTTP(S) URL ключи-значения передаются в
urllib.request.Requestв качестве параметров заголовков. Для других URL (например, начинающихся с «s3://», и «gcs://») пары ключ-значение передаются вfsspec.open. Более подробная информация и примеры параметров хранения см. здесь.Добавлено в версии 1.3.0.
- use_nullable_dtypes:bool, по умолчанию False
-
Если True, используйте типы данных, которые используют
pd.NAкак индикатор отсутствия значения для результирующего DataFrame. (только применимо дляpyarrowдвижка) По мере добавления новых типов данных, поддерживающихpd.NAв будущем, выходные данные с этой опцией изменятся на использование этих типов данных. Примечание: это экспериментальная опция, и поведение (например, дополнительная поддержка типов данных) может измениться без предварительного уведомления.Устарело начиная с версии 2.0.
- dtype_backend:{‘numpy_nullable’, ‘pyarrow’}, по умолчанию ‘numpy_nullable’
-
Применённый к результирующему
DataFrameтип данных бэкенда (еще экспериментально). Поведение следующее:"numpy_nullable": возвращаетDataFrameс поддержкой nullable типов данных (по умолчанию)."pyarrow": возвращает DataFrame с nullable типами данных, поддерживаемый pyarrowArrowDtype.
Добавлено в версии 2.0.
- filesystem:fsspec или pyarrow файловая система, по умолчанию None
-
Объект файловой системы для использования при чтении файла parquet. Реализовано только для
engine="pyarrow".Добавлено в версии 2.1.0.
- filters:Список[Кортеж] или Список[Список[Кортеж]], по умолчанию None
-
Для фильтрации данных. Синтаксис фильтра: [[(столбец, оператор, значение), …],…] где оператор — [==, =, >, >=, <, <=, !=, in, not in] Внутренние кортежи транспонируются в набор фильтров, применяемых через операцию И. Внешний список объединяет эти наборы фильтров через операцию ИЛИ. Также может использоваться единственный список кортежей, что означает, что никакая операция ИЛИ между наборами фильтров не должна проводиться.
Использование этого аргумента НЕ приведёт к пословному фильтру последнего раздела, если также не указан
engine="pyarrow". Для других движков фильтрация выполняется только на уровне раздела, то есть для предотвращения загрузки некоторых row-group и/или файлов.Добавлено в версии 2.1.0.
- **kwargs
-
Любые дополнительные значения kwargs передаются в движок.
- Возвращает:
-
- DataFrame
См. также
DataFrame.to_parquet-
Создаёт объект parquet, сериализующий DataFrame.
Примеры
>>> original_df = pd.DataFrame( ... {"foo": range(5), "bar": range(5, 10)} ... ) >>> original_df foo bar 0 0 5 1 1 6 2 2 7 3 3 8 4 4 9 >>> df_parquet_bytes = original_df.to_parquet() >>> from io import BytesIO >>> restored_df = pd.read_parquet(BytesIO(df_parquet_bytes)) >>> restored_df foo bar 0 0 5 1 1 6 2 2 7 3 3 8 4 4 9 >>> restored_df.equals(original_df) True >>> restored_bar = pd.read_parquet(BytesIO(df_parquet_bytes), columns=["bar"]) >>> restored_bar bar 0 5 1 6 2 7 3 8 4 9 >>> restored_bar.equals(original_df[['bar']]) TrueФункция использует kwargs, которые передаются непосредственно в движок. В следующем примере мы используем аргумент filters движка pyarrow для фильтрации строк DataFrame.
Поскольку pyarrow является движком по умолчанию, мы можем опустить аргумент engine. Обратите внимание, что аргумент filters реализован движком pyarrow, который может извлечь выгоду из многопоточности и потенциально быть более экономичным с точки зрения памяти.
>>> sel = [("foo", ">", 2)] >>> restored_part = pd.read_parquet(BytesIO(df_parquet_bytes), filters=sel) >>> restored_part foo bar 0 3 8 1 4 9
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.read_parquet.html