polars.read_ipc
-
Чтение данных из файла 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-файл и не позволяет применить оптимизации при чтении. Поэтому, если вы хотите работать сLazyFrames, всегда предпочитайте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")завершится ошибкой.
- Корректность данных Arrow в файле не проверяется, а работа с некорректными данными Arrow приводит к неопределённому поведению (UB)! Убедитесь, что файл корректен, или задайте
См. также
-
scan_ipc -
Ленивое чтение из файла IPC или нескольких файлов с помощью шаблонов glob.
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
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/api/polars.read_ipc.html