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 на основе pyarrowArrowDtypeDataFrame.
Добавлено в версии 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