Problèmes de qualité des données et nettoyage
20 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quelle méthode est la plus efficace pour détecter les incohérences dans un DataFrame?

  • Convertir toutes les colonnes en chaînes de caractères.
  • Analyser la description statistique de chaque colonne individuellement avec `describe()`. (correct)
  • Appliquer la méthode `dropna()` sur chaque colonne.
  • Supprimer toutes les lignes avec des valeurs manquantes.

Est-il toujours approprié de remplacer les valeurs manquantes par la moyenne de la colonne?

False (B)

Quelle fonction de Pandas est utilisée pour remplacer les valeurs manquantes?

fillna()

L'argument optionnel ______=True dans pd.to_datetime() permet de spécifier que le format de date commence par le jour.

<p>dayfirst</p> Signup and view all the answers

Associez les arguments de la fonction to_datetime() avec leur description:

<p>format = Spécifie le format de la date. errors = Personnalise la manière dont les erreurs de conversion sont gérées. dayfirst = Indique si le format de la date commence par le jour. infer_datetime_format = Déduit le format de la date selon les valeurs de colonne.</p> Signup and view all the answers

Quel accesseur de Pandas permet d'accéder aux méthodes de traitement des chaînes de caractères dans une Series?

<p><code>str</code> (B)</p> Signup and view all the answers

La méthode split() de l'accesseur str modifie directement la Series d'origine.

<p>False (B)</p> Signup and view all the answers

Quelles sont les fonctions de base pour nettoyer les entrées de texte incohérentes?

<p>lower(), strip()</p> Signup and view all the answers

La fonction fuzzywuzzy.process.extract() utilise l'argument _____ pour spécifier la fonction de comparaison de similitude.

<p>scorer</p> Signup and view all the answers

Quelle exception indique que le contenu d'un fichier n'est pas encodé avec UTF-8?

<p>UnicodeDecodeError (D)</p> Signup and view all the answers

Il est toujours optimal d'encoder avec UTF-8.

<p>True (A)</p> Signup and view all the answers

Quel module utilisez-vous pour deviner automatiquement le bon encodage?

<p>charset_normalizer</p> Signup and view all the answers

L'option ____ permet de spécifier l'encodage pour lire le fichier.

<p>encoding</p> Signup and view all the answers

Quel type de données est approprié pour une colonne contenant des catégories encodées numériquement?

<p><code>category</code> (B)</p> Signup and view all the answers

L'objectif du nettoyage des données est d'ajouter de nouvelles informations dans le DataFrame.

<p>False (B)</p> Signup and view all the answers

Que faire quand une valeur manque car elle n'existe pas?

<p>Conserver la valeur sous forme de NaN</p> Signup and view all the answers

Comme l'accesseur dt, les chaînes de caractères ont un accesseur _____ permettant d'accéder aux méthodes de traitement d'une chaîne de caractères ordinaire python.

<p>str</p> Signup and view all the answers

Associez les méthodes des accesseurs de chaîne de caractères avec leur description:

<p>contains() = Pour tester l'existence d'une chaîne de caractère à l'intérieur de la chaîne de la cellule. startswith()/endswith() = Teste si la cellule commence/se termine par la chaîne de caractères en paramètre. split() = Découpe une chaîne selon un séparateur et retourne une liste.</p> Signup and view all the answers

La fonction extract permet de spécifier le nombre de valeurs à afficher grâce à quel argument?

<p>limit (A)</p> Signup and view all the answers

Dans le cadre du DataCleaning, les méthodes de l'accesseur str ne sont pas utiles.

<p>False (B)</p> Signup and view all the answers

Flashcards

df.isnull().sum()

Nombre d'entrées vides par colonne dans un DataFrame.

df.isnull().sum().sum()

Somme totale des cellules vides dans un DataFrame.

df.dropna()

Supprime les lignes contenant des valeurs nulles.

df[(df.country_of_birth.isnull()) & (df.city_of_birth.notnull())]

Retourne les lignes où country_of_birth est nul et city_of_birth ne l'est pas.

Signup and view all the flashcards

df.fillna()

Remplace les valeurs NaN dans une colonne par une valeur spécifique.

Signup and view all the flashcards

pd.to_datetime()

Convertit une colonne en type datetime.

Signup and view all the flashcards

df.column.str

Accède aux méthodes de chaîne de caractères pour une colonne.

Signup and view all the flashcards

df.column.str.lower()

Convertit le texte en minuscules.

Signup and view all the flashcards

df.column.str.strip()

Supprime les espaces au début et à la fin d'une chaîne.

Signup and view all the flashcards

charset_normalizer.detect(file)

Détecte l'encodage d'un fichier.

Signup and view all the flashcards

pd.read_csv(file, encoding=)

Lit un fichier CSV en spécifiant l'encodage.

Signup and view all the flashcards

df[colonne].astype('category')

Convertit une colonne en type catégorique.

Signup and view all the flashcards

Study Notes

  • Le nettoyage des données est essentiel en science des données, bien que souvent frustrant

Entrées Manquantes

  • Le nombre d'entrées vides par colonne dans un jeu de données peut être obtenu en utilisant df.isnull().sum()
  • Le nombre total de cellules vides dans un DataFrame peut être calculé en additionnant les valeurs manquantes de chaque colonne avec df.isnull().sum().sum()
  • Exemple: 51174 entrées sont signalées comme nulles
  • Les incohérences dans un DataFrame sont plus complexes à identifier que les valeurs nulles
  • La fonction describe() permet de révéler de potentielles incohérences
  • Assurez-vous que les types de données des colonnes soient appropriés
  • Convertir une colonne en variable catégorielle si elle contient des données numériques qui représente en fait une catégorie
  • player_id est un exemple ou il faudrait convertir le type à catégorique
  • Utilisation de dropna()supprime les lignes avec des cellules nulles
  • Si une valeur est manquante parce qu'elle n'existe pas il faut la conserver sous forme de NaN
  • Si une valeur est manquante parce qu'elle n'a pas été enregistrée, utiliser d'autres valeurs de la même ligne ou colonne pour faire une prédiction
  • L'option axis=1, peut être utilisée pour supprimer les colonnes avec des valeurs nulles
  • Les colonnes country_of_birth et city_of_birth ont respectivement 2689 et 2203 valeurs manquantes
  • Google peut être utilisé pour récupérer les coordonnées d'une ville, en utilisant le nom de la ville pour déduire le pays
  • La bibliothèque nommée geopy peut être installée avec la commande suivante: pip install geopy

Remplacement de Valeurs Manquantes

  • La fonction fillna()peut être utilisée pour compléter les valeurs manquantes
  • Les valeurs NaN peuvent être remplacées par une valeur spécifique
  • Il est possible de remplacer les valeurs manquantes de la colonne height_in_cm par sa moyenne
  • Remplacer les valeurs nulles pour une colonne catégorique en utilisant la valeur la plus fréquente dans cette colonne
  • Paramètre optionnel method pour remplacer une valeur nulle par la valeur précédente/suivante non nulle
  • La méthode est fixée à bfill (saisie arrière) et ffill (saisie avant)
  • Trier les entrées par country_of_birth et last_name avant d'appliquer la méthode city_of_birth
  • La méthode replace permet d'utiliser une valeur non nulle particulière à la place d'une valeur nulle,
  • Le code suivant remplace toutes les valeurs right de df.foot par R: df.foot.replace("right", "R")
  • La fonction fillna/dropna renvoie une copie modifiée par défaut et pour modifier le Dataframe utiliser inplace=True

Traitement des Données par date

  • La colonne date_of_birth contient des dates, cependant elle est reconnue comme une chaîne de caractères
  • Les dates dans cette colonne ne peuvent pas être triées par ordre chronologique, car elles ne sont pas reconnues comme type date
  • Pour convertir un objet Series ou DataFrame en objets de type date, utiliser la fonction pandas.to_datetime()
  • L'argument optionnel format permet également de spécifier comment extraire la date
  • Les arguments optionnels dayfirst=Trueou yearfirst=True définissent comment le format de la date vas commencer
  • Le paramètre optionnel errors permet une gestion personnalisée des erreurs
  • Une date incorrecte retournera NaT, et le paramètre errors = 'coerce' est alors necessaire
  • Définir l'argument infer_datetime_format=True permet de détecter automatiquement le format de la date
  • L'attribut dt du Series permet d'accéder aux propriétés du datetime64
  • L'attribut day permet d'accéder au jour du mois (ex : s.dt.day), et s est nommée accesseur
  • On accède aux autres attributs, comme le jour de la semaine/nombre de jours avec s.dt.day_name() et s.dt.days_in_month

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Cette leçon aborde l'importance du nettoyage des données en science des données. Elle couvre l'identification et la gestion des entrées manquantes à l'aide de df.isnull().sum(), ainsi que la détection des incohérences à l'aide de describe() et la correction des types de données. L'utilisation de dropna() pour gérer les valeurs nulles est également expliquée.

More Like This

Use Quizgecko on...
Browser
Browser