polars.Series.sql
-
Выполняет SQL-запрос к Series.
Добавлено в версии 1.37.0.
Предупреждение
Эта функциональность считается нестабильной, хотя близка к тому, чтобы считаться стабильной. Она может быть изменена в любой момент без того, чтобы это считалось нарушением обратной совместимости.
- Параметры:
-
- query
-
SQL-запрос для выполнения.
- table_name
-
При необходимости укажите явное имя таблицы, представляющей вызывающий фрейм (по умолчанию — «self»).
См. также
Примечания
- Вызывающий 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 │ └─────┴─────┘
Series.sql(
query: str_,
*,
table_name: str_ = 'self',
) → DataFrame
© 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