Escriu per cercar…

Consulta

Una consulta és un conjunt d'expressions que s'apliquen a un context

Introducció

Crea el projecte polars-query.

Expressió

A Polars, una expressió és una representació “lazy” d’una transformació de dades.

Les expressions són modulars i flexibles, és a dir, les pots fer servir com a blocs de construcció per crear expressions més complexes.

Aquí tens un exemple d’expressió de Polars:

python
import polars as pl

pl.col("weight") / (pl.col("height") ** 2)

Com pots intuir, aquesta expressió agafa una columna anomenada “weight” i divideix els seus valors pel quadrat dels valors de la columna “height”, calculant el BMI (o IMC, índex de massa corporal) d’una persona.

El codi anterior expressa un càlcul abstracte que pots desar en una variable, manipular més endavant o simplement imprimir:

python
bmi_expr = pl.col("weight") / (pl.col("height") ** 2)
print(bmi_expr)
[(col("weight")) / (col("height").pow([dyn int: 2]))]

Com que les expressions són “lazy”, encara no s’ha realitzat cap càlcul.

Context

Les expressions de Polars necessiten un context en el qual s’executen per produir un resultat.

Depenent del context en què s’utilitzi, la mateixa expressió de Polars pot produir resultats diferents.

Com que les expressions són “lazy”, quan utilitzes una expressió dins d’un context, Polars pot intentar simplificar-la abans d’executar la transformació de dades que expressa.

Les expressions separades dins d’un context es poden executar en paral·le i Polars se n’aprofita, alhora que paral·lelitza l’execució d’expressions quan s’utilitza l’expansió d’expressions.

Encara es poden obtenir més guanys de rendiment quan s’utilitza l’API “lazy” de Polars.

En aquesta secció aprendrem sobre els quatre contexts més comuns que ofereix Polars:

  1. select
  2. with_columns
  3. filter
  4. group_by

Farem servir el dataframe següent per mostrar com funciona cada context.

python
import polars as pl
from datetime import date

df = pl.DataFrame(
    {
        "name": ["Alice Archer", "Ben Brown", "Chloe Cooper", "Daniel Donovan"],
        "birthdate": [
            date(1997, 1, 10),
            date(1985, 2, 15),
            date(1983, 3, 22),
            date(1981, 4, 30),
        ],
        "weight": [57.9, 72.5, 53.6, 83.1],  # (kg)
        "height": [1.56, 1.77, 1.65, 1.75],  # (m)
    }
)

Estàs llegint una vista prèvia.

Inicia sessió per llegir l'article complet. Qualsevol compte obre 4 articles gratuïts al mes; l'alumnat i el professorat llegeixen les pàgines del seu curs sense límit.

Inicia sessió