Spec-Zone.ru › Polars

polars.Series.sql

Series.sql(
    query: str_,
    *,
    table_name: str_ = 'self',
) → DataFrame

Выполняет SQL-запрос к Series.

Добавлено в версии 1.37.0.

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

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

Параметры:
query

SQL-запрос для выполнения.

table_name

При необходимости укажите явное имя таблицы, представляющей вызывающий фрейм (по умолчанию — «self»).

См. также

SQLContext

Примечания

  • Вызывающий Series автоматически регистрируется как таблица в SQLContext под именем «self». Если вам нужен доступ к DataFrame, LazyFrame и другим Series, находящимся в текущих глобальных переменных, используйте pl.sql.
  • Для более гибкого управления регистрацией и выполнением используйте объект SQLContext.
  • SQL-запрос выполняется в ленивом режиме, после чего результат собирается и возвращается в виде DataFrame.
  • Для использования Series в SQL рекомендуется задать ей имя, иначе будет использовано имя Series по умолчанию (пустая строка); хотя "" допустимо, это неудобно.

Примеры

>>> from datetime import date
>>> s = pl.Series(
...     name="dt",
...     values=[date(1999, 12, 31), date(2099, 2, 14), date(2026, 3, 5)],
... )

Запрос к Series с помощью SQL:

>>> s.sql('''
...     SELECT
...       EXTRACT('year',dt) AS y,
...       EXTRACT('month',dt) AS m,
...       EXTRACT('day',dt) AS d,
...     FROM self
...     WHERE dt > '2020-01-01'
...     ORDER BY dt DESC
... ''')
shape: (2, 3)
┌──────┬─────┬─────┐
│ y    ┆ m   ┆ d   │
│ ---  ┆ --- ┆ --- │
│ i32  ┆ i8  ┆ i8  │
╞══════╪═════╪═════╡
│ 2099 ┆ 2   ┆ 14  │
│ 2026 ┆ 3   ┆ 5   │
└──────┴─────┴─────┘

Хотя к столбцу Series без имени можно обратиться, используя пустую строку по умолчанию, это не рекомендуется:

>>> s = pl.Series([1, 2, 3])
>>> s.sql('SELECT "" AS x, "" * 2 AS "2x" FROM self')
shape: (3, 2)
┌─────┬─────┐
│ x   ┆ 2x  │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1   ┆ 2   │
│ 2   ┆ 4   │
│ 3   ┆ 6   │
└─────┴─────┘

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

Spec-Zone.ru

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