Type to search…

DataFrame

Un DataFrame és un conjunt de sèries.

This page hasn't been translated yet — shown in its original language:Català

Introducció

Encara que un Dataframe i una Taula d’una base de dades poden semblar el mateix, la seva disposició en memòria és completament diferent perquè tenen proposits d’ús diferent.

Taula

Una taula d’una base de dades és una agrupació de files, on cada fila és un conjunt de dades relacionades.

En una base de dades la unitat de treball són les files, i les tasques habituals són afegir files, actualitzar les files, eliminar les files, localitzar files, etc.

La memòria de l’ordinador no és bidimensional.

Les files es disposen una darrere a l’altre en memòria:

Per calcular la mitja dels valors de la columna height de la taula, cal recorrer tota la memòria on està emmagatzemada la taula.

L’operació més habitual és buscar files, i per tal que aquesta operació sigui eficient, s’utilitzen índexs que permeten localitzar les files en un temps constant.

El problema és que els índexs ocupen molta memòria!

DataFrame

Un dataframe és un conjunt de Series (o columnes) encara que es presenti com una taula.

I en memòria es disposen en columnes.

Per calcular la mitja dels valors de la sèrie height només cal recorrer una part mínima de la memòria on està emmagatzemant el dataframe.

DataFrame

El següent fragment mostra com crear un dataframe a partir d’un diccionari de llistes:

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)
    }
)

select

A Series vas veure que pots operar amb diferents sèries de dades de diferents maneres.

Amb un dataframe pots fer el mateix, l’únic que has de fer és seleccionar les columnes (sèries) que vols utilitzar amba en el context select:

Per exemple, pots seleccionar la columna birthdate i obtenir l’any:

python
years = df.select(pl.col("birthdate").dt.year())
print(years)
shape: (4, 1)
┌───────────┐
│ birthdate │
│ ---       │
│ i32       │
╞═══════════╡
│ 1997      │
│ 1985      │
│ 1983      │
│ 1981      │
└───────────┘

El resultat és un dataframe en qué només està la columna que has seleccionat amb les operacions que has fet en aquella columna.

Naturalment, pots seleccionar tantes columnes com vulguis, i no cal que facis res amb elles.

Per exemple, pots seleccionar també el nom de les persones per no perdre aquesta informació en el nou dataframe:

python
df = df.select(pl.col("name"), pl.col("birthdate").dt.year())
print(df.head(1))

You're reading a preview.

Sign in to read the full article. Any account opens 4 free articles a month; students and teachers read their course pages without limit.

Sign in