Схема
-
Упорядоченное соответствие имён столбцов их типам данных.
- Параметры:
-
- schema
-
Определение схемы, заданное именами столбцов и соответствующими им типами данных Polars. Принимает отображение, итерируемый объект кортежей или любой объект, реализующий интерфейс PyCapsule
__arrow_c_schema__(например, схемы pyarrow).
Примеры
Определите схему, передав экземпляры типов данных.
>>> schema = pl.Schema( ... { ... "foo": pl.String(), ... "bar": pl.Duration("us"), ... "baz": pl.Array(pl.Int8, 4), ... } ... ) >>> schema Schema({'foo': String, 'bar': Duration(time_unit='us'), 'baz': Array(Int8, shape=(4,))})Получите тип данных, связанный с заданным именем столбца.
>>> schema["baz"] Array(Int8, shape=(4,))
Получите различные свойства схемы с помощью методов
names,dtypesиlen.>>> schema.names() ['foo', 'bar', 'baz'] >>> schema.dtypes() [String, Duration(time_unit='us'), Array(Int8, shape=(4,))] >>> schema.len() 3
Импортируйте схему pyarrow.
>>> import pyarrow as pa >>> pl.Schema(pa.schema([pa.field("x", pa.int32())])) Schema({'x': Int32})Экспортируйте схему в pyarrow.
>>> pa.schema(pl.Schema({"x": pl.Int32})) x: int32Методы:
contains_dtypeПроверяет, содержит ли схема заданный тип данных.
dtypesВозвращает типы данных схемы.
lenВозвращает количество записей в схеме.
namesВозвращает имена столбцов схемы.
to_arrowПреобразует схему в схему pyarrow.
to_frameСоздаёт пустой DataFrame (или LazyFrame) на основе этой схемы.
to_pythonВозвращает словарь имён столбцов и типов Python.
-
Проверяет, содержит ли схема заданный тип данных.
- Параметры:
-
- dtype
-
Тип данных, который нужно найти.
- recursive
-
Если False, проверяются только типы данных столбцов верхнего уровня. Если True, поиск также выполняется во вложенных типах (List, Array, Struct).
Примеры
>>> s = pl.Schema({"x": pl.Int64(), "y": pl.List(pl.Float64)}) >>> s.contains_dtype(pl.Int64, recursive=False) True >>> s.contains_dtype(pl.Float64, recursive=False) False >>> s.contains_dtype(pl.Float64, recursive=True) True
contains_dtype( dtype: DataType, *, recursive: bool, ) → bool-
Возвращает типы данных схемы.
Примеры
>>> s = pl.Schema({"x": pl.UInt8(), "y": pl.List(pl.UInt8)}) >>> s.dtypes() [UInt8, List(UInt8)]
dtypes() → list[DataType]
-
Возвращает количество записей в схеме.
Примеры
>>> s = pl.Schema({"x": pl.Int32(), "y": pl.List(pl.String)}) >>> s.len() 2 >>> len(s) 2
len() → int
-
Возвращает имена столбцов схемы.
Примеры
>>> s = pl.Schema({"x": pl.Float64(), "y": pl.Datetime(time_zone="UTC")}) >>> s.names() ['x', 'y']
names() → list[str]
-
Преобразует схему в схему pyarrow.
- Параметры:
-
- compat_level
-
Использует заданный уровень совместимости при экспорте внутренних типов данных Polars.
Примеры
>>> pl.Schema({"x": pl.String}).to_arrow() x: string_view
to_arrow( *, compat_level: CompatLevel | None = None, ) → Schema-
Создаёт пустой DataFrame (или LazyFrame) на основе этой схемы.
- Параметры:
-
- eager
-
Если True, создаётся DataFrame; в противном случае создаётся LazyFrame.
Примеры
>>> s = pl.Schema({"x": pl.Int32(), "y": pl.String()}) >>> s.to_frame() shape: (0, 2) ┌─────┬─────┐ │ x ┆ y │ │ --- ┆ --- │ │ i32 ┆ str │ ╞═════╪═════╡ └─────┴─────┘ >>> s.to_frame(eager=False) <LazyFrame at 0x11BC0AD80>
to_frame( *, eager: bool = True, ) → DataFrame | LazyFrame-
Возвращает словарь имён столбцов и типов Python.
Примеры
>>> s = pl.Schema( ... { ... "x": pl.Int8(), ... "y": pl.String(), ... "z": pl.Duration("us"), ... } ... ) >>> s.to_python() {'x': <class 'int'>, 'y': <class 'str'>, 'z': <class 'datetime.timedelta'>}
to_python() → dict[str, type]
class polars.Schema(
schema: Mapping[str,
SchemaInitDataType] | Iterable[tuple[str,
SchemaInitDataType] | ArrowSchemaExportable] | ArrowSchemaExportable | None = None,
*,
check_dtypes: bool = True,
)
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/schema/index.html