Dans quel ordre prenez-vous les décisions pour nettoyer des données sales ?

Questions d’entrevue Python et Pandas

Seniorpandas

Ce n’est pas une liste de méthodes

dropna, fillna, drop_duplicates tiennent en une ligne. Le nettoyage est une politique : quoi garder, quoi jeter, quoi inventer, quoi mettre de côté. Tant que cette politique n’est pas écrite, chaque fillna est une dette. C’est le fil du tutoriel nettoyer des données sales, et c’est ce qu’un entretien senior vérifie.

Les questions avant le code

  1. Cette colonne sert-elle la suite ? Si non, la laisser sale est moins cher que de l’inventer.
  2. Le manquant informe-t-il ? Une date de résiliation vide, ce n’est souvent pas une erreur.
  3. Le doublon est-il exact ou partiel ? Même email, adresses différentes : ce n’est pas keep="first".

Vous écrivez ces trois réponses. Ensuite seulement, le notebook.

L’ordre qui ne détruit pas l’information

  1. Inventaireshape, dtypes, taux de NA, cardinalité (nunique), quelques value_counts. Typage défensif à la lecture (dtype="string") pour qu’un code postal ne devienne pas float.
  2. Types et parses — dates avec format et errors="coerce", numériques, catégories fermées. Calculer sur un mauvais dtype, c’est figer l’erreur.
  3. Valeurs aberrantes de forme — longueurs de codes, alphabets, fuseaux. Elles racontent les exports successifs.
  4. Manquants, colonne par colonne — laisser / jeter / remplir / quarantaine. Jamais un fillna(0) global.
  5. Doublons, clé écrite, tri qui décide qui survit.
  6. Jointures et grains — seulement quand chaque table est tenable. Joindre d’abord, nettoyer après, c’est multiplier la saleté.
  7. Assertions — unicité, taux de NA, sommes qui doivent se conserver, shape.

Inverser 4 et 2 (remplir puis parser) fabrique des dates « 0 » et des moyennes tirées vers zéro. Inverser 5 et 6 fait exploser un référentiel sale.

Ce que l’intervieweur écoute

Pas la maîtrise de l’API. La discipline : regarder, décider, typer, puis transformer, puis prouver. Un candidat qui commence par df.dropna() sur tout le tableau vient de perdre l’entretien, même s’il connaît explode.

Toutes les questions Python et Pandas