Gestion des valeurs nulles
Glissez pour afficher le menu
Lors du traitement de données réelles, il est fréquent de rencontrer des valeurs manquantes ou nulles. Dans Polars, celles-ci sont représentées par null plutôt que par NaN ou d'autres substituts. La gestion des valeurs manquantes est essentielle pour préserver l'intégrité de l'analyse.
Supposons que vous disposiez d'un DataFrame avec une colonne steam_deck_status, mais que certaines entrées soient manquantes. Il existe deux principales façons de traiter ces valeurs manquantes : les remplacer par une valeur par défaut ou supprimer entièrement les lignes concernées.
Pour remplacer les valeurs manquantes de la colonne steam_deck_status par la chaîne de caractères "Unknown", utilisez la méthode fill_null :
123456789101112import polars as pl df = pl.DataFrame({ "game": ["Portal", "Half-Life", "Aperture Desk Job", "Counter-Strike"], "steam_deck_status": ["Verified", None, "Playable", None] }) # Fill nulls with "Unknown" df_filled = df.with_columns( pl.col("steam_deck_status").fill_null("Unknown") ) print(df_filled)
Si vous préférez supprimer toutes les lignes où steam_deck_status est manquant, utilisez la méthode drop_nulls. Celle-ci retourne un DataFrame ne contenant que les lignes où toutes les colonnes (ou une colonne spécifiée) ne sont pas nulles :
123# Drop rows where steam_deck_status is null df_no_nulls = df.drop_nulls("steam_deck_status") print(df_no_nulls)
Polars est conçu pour gérer les données manquantes de manière efficace et explicite. Contrairement à certaines bibliothèques qui traitent les valeurs manquantes comme une valeur flottante spéciale (NaN), Polars utilise null comme un indicateur clair d'absence de donnée, quel que soit le type de donnée. Cette approche évite toute ambiguïté et garantit une gestion cohérente des données manquantes à travers les colonnes, qu'elles contiennent des chaînes de caractères, des nombres ou des dates.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion