pandas.DataFrame.to_parquet#

DataFrame.to_parquet(путь=None, *, движок='auto', compression='snappy', index=None, partition_cols=None, storage_options=None, **kwargs)[источник]#

Запись DataFrame в бинарный формат parquet.

Эта функция записывает датафрейм как файл parquet. Вы можете выбрать различные бэкенды parquet и иметь возможность сжатия. См. руководство пользователя для получения дополнительной информации.

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

Строка, объект пути (реализующий os.PathLike[str]), или файлоподобный объект, реализующий двоичный write() функции. Если None, результат возвращается в виде байтов. Если строка или путь, он будет использоваться как путь к корневому каталогу при записи секционированного набора данных.

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

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

compressionstr или None, по умолчанию ‘snappy’

Имя используемого сжатия. Используйте None для отсутствия сжатия. Поддерживаемые опции: ‘snappy’, ‘gzip’, ‘brotli’, ‘lz4’, ‘zstd’.

indexbool, по умолчанию None

Если True, включить индексы датафрейма в вывод файла. Если False, они не будут записаны в файл. Если None, аналогично True индекс(ы) датафрейма будут сохранены. Однако вместо сохранения в виде значений RangeIndex будет храниться как диапазон в метаданных, поэтому он не занимает много места и работает быстрее. Другие индексы будут включены как столбцы в выходном файле.

partition_colsсписок, необязательный, по умолчанию None

Имена столбцов, по которым разделить набор данных. Столбцы разделяются в указанном порядке. Должно быть None, если path не является строкой.

storage_optionsdict, optional

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

**kwargs

Дополнительные аргументы, передаваемые в библиотеку parquet. См. pandas io для получения дополнительной информации.

Возвращает:
байты, если аргумент пути не предоставлен, иначе None

Смотрите также

read_parquet

Прочитать файл parquet.

DataFrame.to_orc

Записать файл orc.

DataFrame.to_csv

Записать csv файл.

DataFrame.to_sql

Запись в таблицу SQL.

DataFrame.to_hdf

Запись в hdf.

Примечания

Эта функция требует либо fastparquet или pyarrow библиотека.

Примеры

>>> df = pd.DataFrame(data={'col1': [1, 2], 'col2': [3, 4]})
>>> df.to_parquet('df.parquet.gzip',
...               compression='gzip')  
>>> pd.read_parquet('df.parquet.gzip')  
   col1  col2
0     1     3
1     2     4

Если вы хотите получить буфер для содержимого parquet, вы можете использовать объект io.BytesIO, пока вы не используете partition_cols, который создает несколько файлов.

>>> import io
>>> f = io.BytesIO()
>>> df.to_parquet(f)
>>> f.seek(0)
0
>>> content = f.read()