Lire les données par lots

Introduction à la qualité des données avec Great Expectations

Davina Moossazadeh

Data Scientist

Données météo Kaggle

Un DataFrame pandas contenant les données météo de Kaggle, avec les colonnes suivantes : « Location », « Date_Time », « Temperature_C », « Humidity_pct », « Precipitation_mm » et « Wind_Speed_kmh ». Le DataFrame compte 87 118 lignes.

Introduction à la qualité des données avec Great Expectations

Définitions de lots

Définition de lot – Configuration indiquant comment un actif de données doit être découpé pour les tests

batch_definition = data_asset.add_batch_definition_whole_dataframe(

name="my_batch_definition" )
print(batch_definition)
id='69e2a81d-1c28-4d1a-b66e-52cdc1198266' 
name='my_batch_definition' 
partitioner=None
1 https://docs.greatexpectations.io/docs/core/connect_to_data/dataframes/
Introduction à la qualité des données avec Great Expectations

Lots

Lot – Groupe d'enregistrements sur lequel exécuter des validations

batch = batch_definition.get_batch(

batch_parameters={"dataframe": dataframe} )
Introduction à la qualité des données avec Great Expectations

Lots

data_source_other.jpg

data_source_pandas.jpg

Introduction à la qualité des données avec Great Expectations

L'objet Batch

On peut utiliser .head() comme avec pandas :

print(batch.head())

Capture d'écran 2024-07-16 à 11.49.00.png

1 Table adaptée de https://www.kaggle.com/datasets/prasad22/weather-data
Introduction à la qualité des données avec Great Expectations

L'objet Batch

print(batch.head(fetch_all=True))

Capture d'écran 2024-07-22 à 14.02.00.png

Introduction à la qualité des données avec Great Expectations

L'objet Batch

.columns() affiche toutes les colonnes du DataFrame (notez les ())

print(batch.columns())
['Location',
 'Date_Time',
 'Temperature_C',
 'Humidity_pct',
 'Precipitation_mm',
 'Wind_Speed_kmh']
Introduction à la qualité des données avec Great Expectations

Aide-mémoire

Créer une définition de lot à partir d'un actif de données :

batch_definition = data_asset. \
add_batch_definition_whole_dataframe(
  name: str
)

Créer un lot à partir de la définition :

batch = batch_definition.get_batch(
  batch_parameters={"dataframe": dataframe}
)

Obtenir des lignes du DataFrame du lot :

batch.head(fetch_all: bool)  

Obtenir la liste des colonnes du DataFrame du lot :

batch.columns()
Introduction à la qualité des données avec Great Expectations

Passons à la pratique !

Introduction à la qualité des données avec Great Expectations

Preparing Video For Download...