Spec-Zone.ru › DuckDB

Интеграция с Polars

Polars — это библиотека DataFrames, написанная на Rust с поддержкой Python и Node.js. Она использует формат столбцов Apache Arrow в качестве своей модели памяти. DuckDB может читать Polars DataFrames и преобразовывать результаты запросов в Polars DataFrames. Это делается внутри с помощью эффективной интеграции с Apache Arrow. Обратите внимание, что библиотека pyarrow должна быть установлена для работы интеграции.

Установка

pip install -U duckdb 'polars[pyarrow]'

Polars в DuckDB

DuckDB может напрямую выполнять запросы к Polars DataFrames, ссылаясь на имя Polars DataFrames в текущем контексте.

import duckdb
import polars as pl

df = pl.DataFrame(
    {
        "A": [1, 2, 3, 4, 5],
        "fruits": ["banana", "banana", "apple", "apple", "banana"],
        "B": [5, 4, 3, 2, 1],
        "cars": ["beetle", "audi", "beetle", "beetle", "beetle"],
    }
)
duckdb.sql("SELECT * FROM df").show()

DuckDB в Polars

DuckDB может выводить результаты в виде Polars DataFrames, используя метод преобразования результатов .pl().

df = duckdb.sql("""
    SELECT 1 AS id, 'banana' AS fruit
    UNION ALL
    SELECT 2, 'apple'
    UNION ALL
    SELECT 3, 'mango'"""
).pl()
print(df)
shape: (3, 2)
┌─────┬────────┐
│ id  ┆ fruit  │
│ --- ┆ ---    │
│ i32 ┆ str    │
╞═════╪════════╡
│ 1   ┆ banana │
│ 2   ┆ apple  │
│ 3   ┆ mango  │
└─────┴────────┘

Чтобы узнать больше о Polars, ознакомьтесь со ссылкой на Python API.

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/guides/python/polars.html

Spec-Zone.ru

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