Spec-Zone.ru › Polars

polars.read_ipc

polars.read_ipc(
    source: str | Path | IO[bytes] | bytes,
    *,
    columns: list[int] | list[str] | None = None,
    n_rows: int | None = None,
    use_pyarrow: bool = False,
    memory_map: bool = False,
    storage_options: StorageOptionsDict | None = None,
    row_index_name: str | None = None,
    row_index_offset: int = 0,
    rechunk: bool | None = None,
) → DataFrame

Чтение данных из файла Arrow IPC (Feather v2) в DataFrame.

См. раздел «Формат файла или произвольного доступа» на странице https://arrow.apache.org/docs/python/ipc.html. Файлы Arrow IPC также известны как файлы Feather (v2).

Изменено в версии 0.20.4: * Параметр row_count_name переименован в row_index_name. * Параметр row_count_offset переименован в row_index_offset.

Параметры:
source

Путь к файлу или файловому объекту (под «файловым объектом» подразумеваются объекты с методом read(), например обработчик файла, такой как встроенная функция open, или экземпляр BytesIO). Если установлен fsspec, он может использоваться для открытия удалённых файлов. Для файловых объектов позиция в потоке после чтения может обновиться некорректно.

columns

Столбцы для выбора. Принимает список индексов столбцов (начиная с нуля) или список имён столбцов.

n_rows

Прекратить чтение файла IPC после чтения n_rows. Допустимо только при use_pyarrow=False.

use_pyarrow

Использовать pyarrow или встроенный считыватель на Rust.

memory_map

Попытаться отобразить файл в память. Это может значительно повысить производительность при повторных запросах, поскольку ОС может кэшировать страницы. Отображать в память можно только несжатые файлы IPC.

storage_options

Дополнительные параметры для fsspec.open() или определённого подключения к хранилищу, например узел, порт, имя пользователя, пароль и т. д.

row_index_name

Добавить в DataFrame столбец индекса строк с указанным именем в качестве первого столбца. Если задано None (по умолчанию), столбец индекса строк не создаётся.

row_index_offset

Начать нумерацию строк с указанного смещения. Не может быть отрицательным. Используется, только если задано row_index_name.

rechunk

Обеспечить непрерывное расположение всех данных.

Устарело с версии 1.43.2: Вызовите rechunk для возвращённого DataFrame.

Возвращает:
DataFrame

Предупреждение

Вызов read_ipc().lazy() — антипаттерн, поскольку он заставляет Polars материализовать весь CSV-файл и не позволяет применить оптимизации при чтении. Поэтому, если вы хотите работать с LazyFrame s, всегда предпочитайте scan_ipc.

If memory_map is set, the bytes on disk are mapped 1:1 to memory.

Это означает, что:

  • Корректность данных Arrow в файле не проверяется, а работа с некорректными данными Arrow приводит к неопределённому поведению (UB)! Убедитесь, что файл корректен, или задайте memory_map=False.
  • Нельзя записывать данные в файл с тем же именем. Например, pl.read_ipc("my_file.arrow").write_ipc("my_file.arrow") завершится ошибкой.

См. также

scan_ipc

Ленивое чтение из файла IPC или нескольких файлов с помощью шаблонов glob.

© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/api/polars.read_ipc.html

Spec-Zone.ru

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