Retour au blog

Analyse de Données avec Python et Pandas : Tes Premiers Pas

Plonge dans l'analyse de données avec Python et pandas : un guide pratique pour tes premières explorations.

Cet article a été rédigé à des fins pédagogiques. Les informations présentées peuvent évoluer. Nous t’invitons à vérifier auprès de sources officielles.

Bienvenue dans l'univers passionnant de la data science ! Si tu es en BUT ou que tu t'intéresses de près à ce domaine, tu sais que l'un des premiers défis est de savoir quoi faire avec toutes ces données. C'est là qu'intervient l'Analyse Exploratoire de Données (AED, ou EDA en anglais). Et pour mener à bien cette mission, deux outils sont absolument incontournables : Python et la bibliothèque pandas.

Dans cet article, nous allons te guider à travers les étapes fondamentales de l'AED en utilisant Python et pandas. Tu vas apprendre à charger des données, à les inspecter, à les nettoyer et à commencer à en tirer tes premières conclusions. Prépare-toi à transformer des fichiers bruts en informations précieuses !

Pourquoi Python et Pandas pour l'AED ?

Python est un langage de programmation polyvalent, très apprécié pour sa lisibilité et sa richesse en bibliothèques spécialisées. En data science, il est devenu la norme de facto grâce à des outils comme pandas, NumPy, Matplotlib et bien d'autres.

Pandas, en particulier, est une bibliothèque Python qui fournit des structures de données performantes et faciles à utiliser, comme le DataFrame. Un DataFrame, c'est un peu comme une feuille de calcul ou une table de base de données, mais avec toute la puissance de Python pour la manipuler. Il te permet de charger des données depuis divers formats (CSV, Excel, SQL.), de les filtrer, de les trier, de les regrouper, de gérer les valeurs manquantes et de calculer des statistiques descriptives en un clin d'œil.

Le saviez-vous : Le nom "pandas" vient du terme "panel data", une expression statistique désignant des ensembles de données contenant des observations pour plusieurs sujets mesurées sur plusieurs périodes de temps. Il fait aussi un clin d'œil au panda géant, l'animal emblème.

Étape 1 : Préparer ton Environnement et Charger les Données

Avant de te lancer, assure-toi d'avoir Python installé sur ta machine. Si tu utilises un environnement comme Anaconda, pandas est généralement inclus. Sinon, tu peux l'installer via pip :

pip install pandas matplotlib seaborn jupyter

Pour cet article, nous utiliserons Jupyter Notebook (ou JupyterLab), un environnement interactif idéal pour l'analyse de données. Lance-le en tapant `jupyter notebook` dans ton terminal.

Chargement d'un Fichier CSV

Les fichiers CSV (Comma Separated Values) sont l'un des formats les plus courants pour stocker des données. Pandas offre une fonction simple pour les charger.

Supposons que tu aies un fichier nommé `donnees_ventes.csv` dans le même répertoire que ton notebook. Voici comment le charger :

Code :

import pandas as pd

# Charge le fichier CSV dans un DataFrame nommé df
df = pd.read_csv('donnees_ventes.csv')

# Affiche les 5 premières lignes du DataFrame
print(df.head())

La méthode `read_csv()` est très puissante et possède nombreux paramètres pour gérer différents types de fichiers CSV (séparateurs différents, encodages, etc.).

Chargement d'autres Formats

Pandas peut aussi charger d'autres types de fichiers :

Étape 2 : Inspecter tes Données

Une fois tes données chargées, il est crucial de comprendre leur structure et leur contenu. C'est le début de l'exploration.

Aperçu Général : `.info()`

La méthode `.info()` te donne un résumé concis de ton DataFrame : le nombre d'entrées, le nombre de colonnes, le nom de chaque colonne, le type de données de chaque colonne (objet, int64, float64, etc.) et le nombre de valeurs non nulles.

Code :

print(df.info())

Cela te permet de repérer rapidement les colonnes qui pourraient contenir des valeurs manquantes.

Statistiques Descriptives : `.describe()`

La méthode `.describe()` génère des statistiques descriptives pour les colonnes numériques : nombre d'éléments, moyenne, écart-type, minimum, quartiles (25%, 50% - la médiane, 75%) et maximum.

Code :

print(df.describe())

Si tu veux inclure les colonnes non numériques (comme les chaînes de caractères), utilise :

Code :

print(df.describe(include='all'))

Pour les colonnes catégorielles, `.describe(include='all')` te donnera le nombre d'entrées uniques, la valeur la plus fréquente (top) et sa fréquence (freq).

Dimensions du DataFrame : `.shape`

L'attribut `.shape` te renvoie un tuple indiquant le nombre de lignes et le nombre de colonnes de ton DataFrame. C'est utile pour avoir une idée de la taille de ton jeu de données.

Code :

print(df.shape)

Afficher les Valeurs Uniques : `.unique()` et `.nunique()`

Pour les colonnes catégorielles, il est souvent utile de savoir quelles sont les valeurs possibles.

Code :

# Pour une colonne spécifique, par exemple 'categorie_produit'
print(df['categorie_produit'].unique())
print(df['categorie_produit'].nunique())

Exemple Concret : Tu charges un jeu de données sur les étudiants d'une université. En utilisant `df.info()`, tu pourrais découvrir que la colonne 'moyenne' est de type 'object' (chaîne de caractères) au lieu de 'float64' (nombre décimal). Cela t'indique qu'il y a probablement des caractères non numériques (comme des virgules mal placées ou des symboles) qu'il faudra nettoyer avant de pouvoir calculer la moyenne de toutes les moyennes.

Étape 3 : Nettoyer les Données

C'est souvent la partie la plus longue mais la plus cruciale de l'AED. Des données "sales" mènent à des analyses erronées.

Gestion des Valeurs Manquantes

Pandas offre plusieurs façons de gérer les valeurs manquantes (souvent représentées par `NaN` - Not a Number).

Code :

moyenne_age = df['age'].mean()
df['age'].fillna(moyenne_age, inplace=True)

L'option `inplace=True` modifie le DataFrame directement.

Correction des Types de Données

Comme vu dans l'exemple, il peut être nécessaire de convertir des colonnes dans le bon type de données.

Code :

# Convertir la colonne 'prix' de type 'object' à 'float64'
df['prix'] = pd.to_numeric(df['prix'], errors='coerce')
# 'errors='coerce'' transformera les valeurs non convertibles en NaN

Suppression des Doublons

Des entrées dupliquées peuvent fausser tes analyses.

Code :

# Supprime les lignes entièrement dupliquées
df.drop_duplicates(inplace=True)

Piège : La méthode `dropna()` supprime toutes les lignes qui contiennent au moins une valeur manquante. Si tu as beaucoup de colonnes, cela peut te laisser avec très peu de données. Il est souvent préférable d'imputer les valeurs manquantes lorsque c'est possible et judicieux, ou de ne supprimer que les lignes où la valeur manquante est dans une colonne cruciale pour ton analyse.

Étape 4 : Explorer et Analyser les Données

Maintenant que tes données sont plus propres, tu peux commencer à les explorer en profondeur.

Filtrage et Sélection de Données

Pandas te permet de sélectionner des sous-ensembles de tes données très facilement.

Code :

# Sélectionner toutes les ventes du produit 'Ordinateur'
ordinateurs_ventes = df[df['produit'] == 'Ordinateur']

# Sélectionner les ventes de plus de 1000 euros
ventes_elevees = df[df['prix'] > 1000]

# Sélectionner les ventes de 'Ordinateur' avec un prix > 1000
ordinateur_cher = df[(df['produit'] == 'Ordinateur') & (df['prix'] > 1000)]

Groupement et Agrégation : `.groupby()`

C'est une fonctionnalité extrêmement puissante pour résumer tes données par catégories.

Code :

# Calculer le chiffre d'affaires total par catégorie de produit
ventes_par_categorie = df.groupby('categorie_produit')['prix'].sum()

# Calculer le nombre de ventes par région et la moyenne des prix
stats_par_region = df.groupby('region').agg({
 'id_vente': 'count', # Compte le nombre de ventes
 'prix': 'mean' # Calcule le prix moyen
})
print(stats_par_region)

Visualisation des Données

L'AED n'est pas complète sans visualisation. Pandas s'intègre bien avec Matplotlib et Seaborn.

Code (avec Seaborn pour plus de simplicité) :

import matplotlib.pyplot as plt
import seaborn as sns

# Histogramme de la distribution des prix
sns.histplot(df['prix'], kde=True) # kde=True ajoute une courbe de densité
plt.title('Distribution des Prix des Produits')
plt.xlabel('Prix (€)')
plt.ylabel('Fréquence')
plt.show()

# Diagramme en barres du chiffre d'affaires par catégorie
ventes_par_categorie.plot(kind='bar')
plt.title('Chiffre d\'Affaires par Catégorie')
plt.xlabel('Catégorie')
plt.ylabel('Chiffre d\'Affaires (€)')
plt.xticks(rotation=45) # Rotation des étiquettes pour meilleure lisibilité
plt.tight_layout() # Ajuste la mise en page
plt.show()

# Nuage de points : relation entre prix et quantité vendue
sns.scatterplot(x='quantite', y='prix', data=df)
plt.title('Relation entre Prix et Quantité Vendue')
plt.show()

Comment ORBITECH Peut T'aider

Comprendre les bases de Python et pandas est essentiel pour tout étudiant en data science. Chez ORBITECH AI Academy, nous avons conçu des modules d'apprentissage interactifs spécialement pour toi. Tu y trouveras des tutoriels guidés, des exercices pratiques sur des jeux de données réels et des projets pour te permettre de maîtriser ces outils. Nos formateurs, experts en data science, sont là pour répondre à tes questions et t'accompagner dans ton apprentissage, afin que tu puisses mener tes propres analyses exploratoires en toute confiance.

Conclusion

L'Analyse Exploratoire de Données avec Python et pandas est une compétence fondamentale pour quiconque souhaite se lancer dans la data science. Tu as vu comment charger des données, les inspecter avec `.info()` et `.describe()`, les nettoyer en gérant les valeurs manquantes et les types de données, et enfin, comment les explorer en utilisant le filtrage, le regroupement et la visualisation.

Ces premières étapes sont la base sur laquelle tu bâtiras toutes tes analyses futures. N'aie pas peur d'expérimenter, de tester différentes approches et surtout, de visualiser tes données. C'est en pratiquant que tu deviendras un maître de l'AED. Alors, lance-toi, prends un jeu de données et commence ton exploration dès aujourd'hui !

Contenu en libre diffusion — partage autorisé sous réserve de mentionner ORBITECH AI Academy comme source.

COMMENCE DÈS MAINTENANT

Cours approfondis, méthodologie et orientation pour réussir dans le supérieur.

Commencer gratuitement
🌍 ORBITECH AI Academy — Free education in 88 languages for 171 countries