Patito
Patito ofereix una manera senzilla de declarar models de dades pydantic que serveixen també com a esquema per als teus dataframes de polars.
Introducció
patito és una biblioteca de validació de dataframes construïda sobre Polars.
La idea central de Patito és que has de definir un anomenat model per a cadascuna de les teves fonts de dades.
Un model és una classe declarativa de Python que descriu les propietats generals d’un conjunt de dades tabulars: els noms de totes les columnes, els seus tipus, límits de valors, etc.
Aquests models es poden utilitzar per validar les fonts de dades quan s’ingressen al pipeline de dades del teu projecte. Al seu torn, els teus models es converteixen en un catàleg centralitzat i fiable de tots els fets essencials sobre les teves dades, fets en els quals pots confiar durant el desenvolupament.
Crea un projecte nou i instal.la patito:
Validació de DataFrame
Suposem que el teu projecte fa un seguiment de productes, i que aquests productes tenen quatre propietats principals:
- Un identificador numèric únic
- Un nom
- Una zona de temperatura ideal que pot ser
"dry"(sec),"cold"(fred) o"frozen"(congelat) - Una demanda del producte expressada com a percentatge de la previsió total de vendes per la següent setmana
En forma tabular, les dades podrien tenir aquest aspecte:
product_id | name | temperature_zone | demand_percentage |
|---|---|---|---|
| 1 | Apple | dry | 0.23% |
| 2 | Milk | cold | 0.61% |
| 3 | Ice cubes | frozen | 0.01% |
| … | … | … | … |
Ara comencem a modelar les restriccions que volem aplicar a les nostres dades.
A Patito, això es fa definint una classe que hereta de patito.Model, una classe que té una anotació de camp per a cada columna de les dades.
Aquests models s’haurien de definir preferiblement en un lloc centralitzat, convencionalment models.py, on els puguis trobar i consultar fàcilment.
Aquests models s’haurien de definir preferiblement en un lloc centralitzat, convencionalment models.py, on els puguis trobar i consultar fàcilme
:
:
:
: Aquí hem utilitzat typing.Literal de la biblioteca estàndard per especificar que temperature_zone no és només un str, sinó específicament un dels valors literals "dry", "cold", o "frozen".
Ara pots utilitzar aquesta classe per representar una única instància específica d’un producte:
: =
La classe també ofereix automàticament validació de dades d’entrada, per exemple, si proporciones un valor invàlid per a temperature_zone:
: = Estás leyendo una vista previa.
Inicia sesión para leer el artículo completo. Cualquier cuenta abre 4 artículos gratuitos al mes; el alumnado y el profesorado leen las páginas de su curso sin límite.
Iniciar sesión