ConsigneExplore un DataFrame avec info(), describe(), value_counts()
Avant de modéliser ou nettoyer, on explore. Pandas a quelques méthodes incontournables pour avoir un aperçu rapide.
df.head(n) n premières lignes (5 par défaut)df.tail(n) n dernièresdf.sample(n) n lignes aléatoires (utile pour ne pas biaiser le coup d'œil)df.shape (lignes, colonnes)Affiche
- nb de lignes/colonnes- nom et type de chaque colonne- nombre de valeurs NON-NULLES par colonne- mémoire utiliséeC'est le 1er coup d'œil indispensable sur un dataset.
Pour les colonnes numériques uniquement (par défaut) :
count, mean, std, min, 25%, 50%, 75%, maxdf.describe()df.describe(include='all') # inclut object/categorydf.describe(include=['object']) # uniquement les colonnes textePour une colonne texte :
count, unique, top, freqdf.isnull() DataFrame de booléens (True = NaN)df.isnull().sum() nb de NaN par colonne (TRÈS utilisé)df.isnull().any() True si au moins un NaN par colonnedf.notnull() inversedf.isnull().sum().sum() nb total de NaN dans tout le DataFramedf['produit'].value_counts() absolu, trié décroissantdf['produit'].value_counts(normalize=True) en pourcentagesdf['produit'].value_counts().head(10) top 10df['produit'].nunique() nombre de valeurs distinctesdf['produit'].unique() array des valeurs distinctesdf = pd.DataFrame({ 'produit': ['A', 'B', 'A', 'C', 'B', 'A', 'C', 'B'], 'prix': [10, 25, 10, 15, 25, 10, 15, 25], 'note': [4.5, 3.8, 4.2, np.nan, 4.0, 4.8, 3.5, np.nan]})df.describe() # stats numériquesdf.isnull().sum() # nb de NaN par colonnedf['produit'].value_counts() # A:3, B:3, C:2Workflow eda : .head() → .info() → .describe() → .isnull().sum() → .value_counts() sur les catégorielles. Sur un nouveau dataset, c'est toujours par là qu'on commence.
Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →