Spec-Zone.ru › pandas 2

pandas.read_parquet

pandas.read_parquet(path, engine='auto', columns=None, storage_options=None, use_nullable_dtypes=<no_default>, dtype_backend=<no_default>, filesystem=None, filters=None, **kwargs)[source]

Загружает объект Parquet по указанному пути к файлу и возвращает DataFrame.

Параметры:
path:str, path object or file-like object

Строка, объект пути (реализующий os.PathLike[str]) или файловоподобный объект, реализующий двоичную функцию read(). Строка может быть URL-адресом. Допустимые схемы URL включают http, ftp, s3, gs и file. Для URL-адресов file ожидается указание хоста. Локальный файл может иметь вид: file://localhost/path/to/table.parquet. URL-адрес file также может указывать на каталог, содержащий несколько секционированных файлов Parquet. И pyarrow, и fastparquet поддерживают пути к каталогам, а также URL-адреса file. Путь к каталогу может иметь вид: file://localhost/path/to/tables или s3://bucket/partition_dir.

engine:{‘auto’, ‘pyarrow’, ‘fastparquet’}, default ‘auto’

Библиотека Parquet, которую следует использовать. Если указано ‘auto’, используется параметр io.parquet.engine. По умолчанию io.parquet.engine сначала пытается использовать ‘pyarrow’, а если ‘pyarrow’ недоступен — ‘fastparquet’.

При использовании движка 'pyarrow', если параметры хранилища не заданы, а файловая система реализована как в pyarrow.fs, так и в fsspec (например, “s3://”), сначала выполняется попытка использовать файловую систему pyarrow.fs. Чтобы использовать реализацию fsspec, укажите в аргументе filesystem экземпляр файловой системы fsspec.

columns:list, default=None

Если значение не None, из файла будут прочитаны только указанные столбцы.

storage_options:dict, optional

Дополнительные параметры для конкретного подключения к хранилищу, например хост, порт, имя пользователя, пароль и т. д. Для URL-адресов HTTP(S) пары «ключ-значение» передаются в urllib.request.Request в качестве параметров заголовка. Для других URL-адресов (например, начинающихся с “s3://” или “gcs://”) пары «ключ-значение» передаются в fsspec.open. Дополнительные сведения см. в fsspec и urllib; дополнительные примеры параметров хранилища приведены здесь.

Добавлено в версии 1.3.0.

use_nullable_dtypes:bool, default False

Если значение True, для результирующего DataFrame используются типы данных, в которых pd.NA служит индикатором пропущенных значений. (Применимо только для движка pyarrow.) По мере добавления новых типов данных с поддержкой pd.NA поведение этого параметра будет изменяться: в выходных данных будут использоваться такие типы. Примечание: этот параметр является экспериментальным, и его поведение (например, поддержка дополнительных типов данных) может измениться без предупреждения.

Устарело начиная с версии 2.0.

dtype_backend:{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’

Бэкендовый тип данных, применяемый к результирующему DataFrame (пока что экспериментальный). Поведение описано ниже:

  • "numpy_nullable": возвращает DataFrame с типами данных nullable (по умолчанию).

  • "pyarrow": возвращает DataFrame с типами данных nullable на основе pyarrow ArrowDtype.

Добавлено в версии 2.0.

filesystem:fsspec or pyarrow filesystem, default None

Объект файловой системы, используемый при чтении файла Parquet. Реализовано только для engine="pyarrow".

Добавлено в версии 2.1.0.

filters:List[Tuple] or List[List[Tuple]], default None

Для фильтрации данных. Синтаксис фильтра: [[(column, op, val), …],…], где op принимает значения [==, =, >, >=, <, <=, !=, in, not in]. Вложенные кортежи объединяются в набор фильтров, применяемых с помощью операции AND. Внешний список объединяет эти наборы фильтров с помощью операции OR. Также можно использовать один список кортежей; в этом случае операция OR между наборами фильтров не выполняется.

Использование этого аргумента НЕ приведет к построчной фильтрации итоговых секций, если не указан также engine="pyarrow". Для других движков фильтрация выполняется только на уровне секций, то есть для предотвращения загрузки некоторых групп строк и/или файлов.

Добавлено в версии 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–2011, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
© 2011–2025, Open source contributors
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.3.0/reference/api/pandas.read_parquet.html

Spec-Zone.ru

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