pandas.read_parquet#

pandas.read_parquet(путь, engine='auto', columns=None, storage_options=None, use_nullable_dtypes=, dtype_backend=, filesystem=None, filters=None, **kwargs)[источник]#

Загрузить объект parquet из пути к файлу, возвращая DataFrame.

Параметры:
путьstr, объект пути или файлоподобный объект

Строка, объект пути (реализующий os.PathLike[str]), или файлоподобный объект, реализующий двоичный 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.

движок{‘auto’, ‘pyarrow’, ‘fastparquet’}, по умолчанию ‘auto’

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

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

столбцысписок, по умолчанию=None

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

storage_optionsdict, optional

Дополнительные параметры, которые имеют смысл для конкретного соединения с хранилищем, например, хост, порт, имя пользователя, пароль и т.д. Для HTTP(S) URL пары ключ-значение передаются в urllib.request.Request в качестве параметров заголовка. Для других URL-адресов (например, начинающихся с "s3://" и "gcs://") пары ключ-значение передаются fsspec.open. Пожалуйста, смотрите fsspec и urllib для получения дополнительной информации, а для дополнительных примеров по опциям хранения см. здесь.

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

use_nullable_dtypesbool, по умолчанию False

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

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

dtype_backend{'numpy_nullable', 'pyarrow'}, по умолчанию 'numpy_nullable'

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

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

  • "pyarrow": возвращает nullable на основе pyarrow ArrowDtype DataFrame.

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

файловая системафайловая система fsspec или pyarrow, по умолчанию None

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

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

фильтрыList[Tuple] или List[List[Tuple]], по умолчанию 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 которые передаются непосредственно в движок. В следующем примере мы используем фильтры аргумент движка pyarrow для фильтрации строк DataFrame.

Поскольку pyarrow является движком по умолчанию, мы можем опустить движок аргумент. Обратите внимание, что фильтры аргумент реализован с помощью 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