Spec-Zone.ru › pandas 2

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 типами данных, поддерживаемый pyarrow ArrowDtype.

Добавлено в версии 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API