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()