Pandas Tutorial PDF
Document Details
Uploaded by JoyfulJasper9228
Tags
Summary
This document provides an introduction to the pandas library in Python, highlighting its functionalities for data manipulation, analysis, and visualization. It covers topics like Series and DataFrame creation, data reading and writing (CSV, Excel, JSON), indexing, filtering, date manipulation, and basic visualization. The examples showcase the basics of working with pandas. A practical guide for data science enthusiasts.
Full Transcript
Pandas 1. Installation Si vous n’avez pas encore installé pandas, vous pouvez l’installer via pip : pip install pandas 2. Introduction à pandas pandas fournit deux structures de données principales : Series : une colonne de données. DataFrame : une table bidimensionnelle (comme une feuille...
Pandas 1. Installation Si vous n’avez pas encore installé pandas, vous pouvez l’installer via pip : pip install pandas 2. Introduction à pandas pandas fournit deux structures de données principales : Series : une colonne de données. DataFrame : une table bidimensionnelle (comme une feuille Excel), qui peut être vue comme un ensemble de Series alignées sur les mêmes index. 2.1. Importation de pandas import pandas as pd 2.2. Créer une Series Une Series est un tableau unidimensionnel qui peut contenir n’importe quel type de données (numérique, chaîne, etc.). Elle ressemble à une colonne dans un tableau. s = pd.Series([1, 3, 5, np.nan, 6, 8]) 2.3. Créer un DataFrame Un DataFrame est une structure de données bidimensionnelle avec des étiquettes pour les lignes (index) et les colonnes. A partir d’un dictionnaire data = {'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8], 'C': [9, 10, 11, 12]} df = pd.DataFrame(data) A partir d’une liste de listes df = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]], columns=['A', 'B', 'C']) Affichage de quelques lignes df.head() # Affiche les 5 premières lignes df.tail() # Affiche les 5 dernières lignes 1 3. Lecture et écriture de données 3.1. Lire un fichier CSV Vous pouvez lire un fichier CSV avec pandas : df = pd.read_csv('data.csv') 3.2. Sauvegarder un DataFrame en CSV df.to_csv('output.csv', index=False) # Sauvegarder sans index 3.3. Autres formats de fichiers Excel : pd.read_excel('file.xlsx') et df.to_excel('output.xlsx') JSON : pd.read_json('file.json') et df.to_json('output.json') 4. Indexation et sélection de données 4.1. Sélection d’une colonne (Series) df['A'] # Accéder à la colonne 'A' 4.2. Sélection de plusieurs colonnes df[['A', 'C']] # Accéder aux colonnes 'A' et 'C' 4.3. Sélection de lignes par l’index Par label avec.loc : df.loc # Première ligne df.loc[:, ['A', 'B']] # Toutes les lignes mais seulement les colonnes 'A' et 'B' Par position avec.iloc : df.iloc # Première ligne (indexation positionnelle) df.iloc[0:3, 1:3] # Lignes 0 à 2 et colonnes 1 à 2 4.4. Masquage booléen Vous pouvez utiliser des conditions pour filtrer les données. df[df['A'] > 2] # Renvoie les lignes où la colonne 'A' est > 2 5. Opérations sur les données 5.1. Décrire les données Obtenir des statistiques descriptives basiques (moyenne, écart-type, etc.) : df.describe() # Statistiques pour toutes les colonnes numériques 2 5.2. Transposer un DataFrame df.T # Inverser les lignes et colonnes 5.3. Trier les valeurs Vous pouvez trier le DataFrame par une ou plusieurs colonnes. df.sort_values(by='A', ascending=False) # Trier par la colonne 'A' en ordre décroissant 5.4. Ajout et suppression de colonnes Ajouter une nouvelle colonne : df['D'] = df['A'] + df['B'] # Nouvelle colonne 'D' comme somme de 'A' et 'B' Supprimer une colonne : df.drop('D', axis=1, inplace=True) # Supprime la colonne 'D' 5.5. Valeurs manquantes Repérer les valeurs manquantes : df.isnull() # Renvoie un DataFrame avec des valeurs booléennes df.isnull().sum() # Nombre de valeurs manquantes par colonne Remplacer les valeurs manquantes : df.fillna(0, inplace=True) # Remplacer les valeurs NaN par 0 df.dropna() # Supprimer les lignes contenant des valeurs manquantes 6. GroupBy et agrégation GroupBy permet de regrouper des données en fonction d’une ou plusieurs colonnes, puis d’appliquer des fonctions d’agrégation comme sum(), mean(), etc. 6.1. GroupBy simple grouped = df.groupby('A') # Regrouper par la colonne 'A' grouped.sum() # Somme des groupes 6.2. GroupBy avec plusieurs colonnes df.groupby(['A', 'B']).mean() # Moyenne par groupes de 'A' et 'B' 7. Fusion et jointure de DataFrames 7.1. Concaténation de DataFrames Vous pouvez concaténer des DataFrames par lignes ou colonnes. 3 Concaténation par lignes : pd.concat([df1, df2], axis=0) # Concaténer verticalement (lignes) Concaténation par colonnes : pd.concat([df1, df2], axis=1) # Concaténer horizontalement (colonnes) 7.2. Jointure de DataFrames La jointure fonctionne comme une jointure SQL. pd.merge(df1, df2, on='key_column') # Jointure interne par la colonne 'key_column' pd.merge(df1, df2, on='key_column', how='outer') # Jointure externe 8. Manipulation des dates pandas possède une puissante gestion des dates via l’objet Datetime. 8.1. Conversion en datetime df['date'] = pd.to_datetime(df['date']) 8.2. Extraction des composants temporels df['year'] = df['date'].dt.year df['month'] = df['date'].dt.month df['day'] = df['date'].dt.day 8.3. Indexation par dates Vous pouvez utiliser des dates comme index pour un DataFrame. df.set_index('date', inplace=True) 9. Visualisation simple avec pandas pandas permet une visualisation rapide et simple via matplotlib. import matplotlib.pyplot as plt df['A'].plot() plt.show() 10. Performance et optimisation 10.1. Utiliser des types de données optimisés Vous pouvez convertir les colonnes en types de données plus efficaces pour économiser de la mémoire. df['A'] = df['A'].astype('int32') 4 10.2. Travailler avec des échantillons Pour manipuler de gros DataFrames, il est parfois préférable de travailler sur un sous-ensemble des données. df.sample(frac=0.1) # Échantillonner 10% des données 5