Afficher un Tableau avec Pandas – Cas Particuliers
Pour afficher un tableau en Python, il existe plusieurs façons de procéder, en fonction de la structure des données et des bibliothèques utilisées. Voici un guide détaillé pour afficher un tableau à l’aide des bibliothèques populaires comme pandas
et matplotlib
.
1. Afficher un tableau avec pandas
pandas
est une bibliothèque puissante pour la manipulation et l’analyse de données en Python. Elle permet de créer et d’afficher des tableaux de manière simple et efficace.
Étapes :
- Installer pandas : Si vous n’avez pas encore installé
pandas
, vous pouvez l’installer viapip
.
pip install pandas
- Créer un tableau (DataFrame) :
Un tableau souspandas
est appelé un DataFrame. Voici un exemple de création de tableau à partir de données sous forme de dictionnaire.
import pandas as pd
# Créer un dictionnaire avec des données
data = {
'Nom': ['Alice', 'Bob', 'Charlie'],
'Âge': [25, 30, 35],
'Ville': ['Paris', 'Lyon', 'Marseille']
}
# Convertir le dictionnaire en DataFrame
df = pd.DataFrame(data)
# Afficher le tableau
print(df)
Résultat :
Nom Âge Ville
0 Alice 25 Paris
1 Bob 30 Lyon
2 Charlie 35 Marseille
2. Afficher un tableau avec matplotlib
Si vous souhaitez afficher le tableau sous forme graphique, vous pouvez utiliser matplotlib
, une bibliothèque de visualisation de données.
Étapes :
- Installer matplotlib :
pip install matplotlib
- Utiliser
matplotlib
pour afficher un tableau :
Vous pouvez afficher un tableau sous forme de graphique en utilisant des fonctions commeplt.table()
.
import matplotlib.pyplot as plt
import pandas as pd
# Créer un DataFrame
data = {
'Nom': ['Alice', 'Bob', 'Charlie'],
'Âge': [25, 30, 35],
'Ville': ['Paris', 'Lyon', 'Marseille']
}
df = pd.DataFrame(data)
# Créer une figure et un axe
fig, ax = plt.subplots()
# Masquer les axes
ax.axis('tight')
ax.axis('off')
# Créer une table
ax.table(cellText=df.values, colLabels=df.columns, cellLoc='center', loc='center')
# Afficher le tableau
plt.show()
Résultat :
Cela affichera un tableau sous forme d’image, avec les données du DataFrame.
3. Utiliser prettytable
pour un affichage formaté en console
Pour un affichage plus esthétique dans le terminal, vous pouvez utiliser la bibliothèque prettytable
.
Étapes :
- Installer prettytable :
pip install prettytable
- Afficher un tableau formaté :
from prettytable import PrettyTable
# Créer un tableau
tableau = PrettyTable()
# Ajouter les colonnes
tableau.field_names = ["Nom", "Âge", "Ville"]
# Ajouter des lignes
tableau.add_row(["Alice", 25, "Paris"])
tableau.add_row(["Bob", 30, "Lyon"])
tableau.add_row(["Charlie", 35, "Marseille"])
# Afficher le tableau
print(tableau)
Résultat :
+---------+-----+-----------+
| Nom | Âge | Ville |
+---------+-----+-----------+
| Alice | 25 | Paris |
| Bob | 30 | Lyon |
| Charlie | 35 | Marseille |
+---------+-----+-----------+
pandas
est la meilleure option pour afficher des tableaux sous forme de DataFrame dans la console ou un environnement interactif comme Jupyter.matplotlib
permet d’afficher des tableaux sous forme graphique.prettytable
est une bonne option pour un affichage textuel soigné dans un terminal.
Ces outils vous permettent de manipuler et d’afficher facilement des données tabulaires dans vos programmes Python.
Afficher un Tableau avec Pandas – Des Cas Particuliers
Lorsqu’on utilise pandas
pour afficher des tableaux (DataFrames), il existe des situations spécifiques où l’affichage peut nécessiter des ajustements particuliers. Que ce soit pour mieux visualiser de grandes quantités de données, gérer des colonnes ou des lignes avec des valeurs manquantes, ou formater les sorties, voici un guide sur les cas particuliers d’affichage avec pandas
.
1. Afficher les premières ou dernières lignes seulement
Lorsqu’un tableau contient de nombreuses lignes, il peut être utile d’afficher uniquement les premières ou dernières lignes pour obtenir un aperçu rapide du tableau sans afficher tout le contenu.
Afficher les premières lignes : head()
Par défaut, df.head()
affiche les 5 premières lignes. Vous pouvez spécifier le nombre de lignes à afficher.
import pandas as pd
# Créer un DataFrame avec 10 lignes
df = pd.DataFrame({
'Nom': ['Alice', 'Bob', 'Charlie', 'David', 'Eve', 'Frank', 'Grace', 'Hannah', 'Isaac', 'Jack'],
'Âge': [25, 30, 35, 40, 28, 33, 38, 26, 41, 29]
})
# Afficher les 5 premières lignes
print(df.head())
# Afficher les 3 premières lignes
print(df.head(3))
Afficher les dernières lignes : tail()
Similaire à head()
, la méthode tail()
permet d’afficher les dernières lignes du DataFrame.
# Afficher les 5 dernières lignes
print(df.tail())
# Afficher les 2 dernières lignes
print(df.tail(2))
2. Afficher des lignes et des colonnes spécifiques
Il peut être nécessaire de n’afficher qu’un sous-ensemble de colonnes ou de lignes pour se concentrer sur certaines données.
Afficher une ou plusieurs colonnes spécifiques
Pour afficher seulement certaines colonnes, sélectionnez-les directement dans le DataFrame.
# Afficher uniquement les colonnes 'Nom' et 'Âge'
print(df[['Nom', 'Âge']])
Afficher des lignes spécifiques avec iloc
(index numérique)
Vous pouvez sélectionner des lignes spécifiques en utilisant l’indexation numérique avec iloc
.
# Afficher la deuxième et troisième ligne
print(df.iloc[1:3])
Afficher des lignes spécifiques avec loc
(basé sur l’index)
Si le DataFrame a un index nommé ou non-numérique, vous pouvez utiliser loc
.
# Créer un DataFrame avec un index personnalisé
df = pd.DataFrame({
'Nom': ['Alice', 'Bob', 'Charlie'],
'Âge': [25, 30, 35]
}, index=['ID1', 'ID2', 'ID3'])
# Afficher la ligne avec l'index 'ID2'
print(df.loc['ID2'])
3. Gérer les données manquantes (NaN
)
Les valeurs manquantes (ou NaN
pour “Not a Number”) peuvent poser des problèmes lors de l’affichage de données. Il peut être utile de traiter ou de masquer ces valeurs lors de l’affichage.
Remplacer les valeurs manquantes par une valeur spécifique
Vous pouvez remplacer les valeurs NaN
par une autre valeur (comme 0
ou Inconnu
) pour améliorer la lisibilité.
import numpy as np
# Créer un DataFrame avec des valeurs manquantes
df = pd.DataFrame({
'Nom': ['Alice', 'Bob', 'Charlie'],
'Âge': [25, np.nan, 35],
'Ville': ['Paris', 'Lyon', np.nan]
})
# Remplacer les valeurs NaN par 'Inconnu'
print(df.fillna('Inconnu'))
Masquer les lignes avec des valeurs manquantes
Pour éviter d’afficher des lignes contenant des valeurs manquantes, vous pouvez les filtrer avec dropna()
.
# Masquer les lignes contenant des NaN
print(df.dropna())
4. Afficher un grand DataFrame
Par défaut, si un DataFrame est très grand, pandas
affichera seulement une partie des lignes et des colonnes, avec des points de suspension (...
) pour indiquer qu’il y a plus de données. Pour changer ce comportement, vous pouvez ajuster les options d’affichage.
Augmenter la limite d’affichage
Vous pouvez modifier le nombre maximum de lignes ou de colonnes affichées avec pd.set_option()
.
# Afficher jusqu'à 100 lignes
pd.set_option('display.max_rows', 100)
# Afficher jusqu'à 20 colonnes
pd.set_option('display.max_columns', 20)
Afficher toutes les lignes et colonnes
Si vous voulez afficher toutes les lignes et colonnes sans restriction, vous pouvez utiliser :
# Afficher toutes les lignes
pd.set_option('display.max_rows', None)
# Afficher toutes les colonnes
pd.set_option('display.max_columns', None)
Réinitialiser les paramètres d’affichage
Après avoir modifié les paramètres, vous pouvez les réinitialiser à leur valeur par défaut avec :
# Réinitialiser toutes les options d'affichage
pd.reset_option('display.max_rows')
pd.reset_option('display.max_columns')
5. Afficher avec un format personnalisé
Il est parfois utile de personnaliser l’affichage, par exemple pour formater des nombres avec un nombre fixe de décimales.
Afficher avec des nombres formatés
Pour limiter le nombre de décimales dans l’affichage des nombres, vous pouvez utiliser pd.set_option()
.
# Limiter le nombre de décimales à 2
pd.set_option('display.float_format', '{:.2f}'.format)
# Exemple de DataFrame avec des nombres décimaux
df = pd.DataFrame({
'Produit': ['A', 'B', 'C'],
'Prix': [1234.56789, 987.654321, 345.6789]
})
print(df)
6. Afficher les données transposées
Si vous voulez visualiser les colonnes comme des lignes et vice-versa, vous pouvez utiliser la méthode transpose()
.
# Transposer le DataFrame (échanger lignes et colonnes)
print(df.transpose())
Voici un résumé des cas particuliers d’affichage avec pandas
:
- Afficher les premières ou dernières lignes : Utilisez
head()
ettail()
. - Afficher des colonnes ou des lignes spécifiques : Utilisez
iloc
ouloc
. - Gérer les valeurs manquantes : Utilisez
fillna()
pour remplacer oudropna()
pour supprimer les lignes. - Affichage de grands DataFrames : Ajustez les options avec
pd.set_option()
pour modifier le nombre de lignes/colonnes affichées. - Format personnalisé : Personnalisez l’affichage des nombres avec
pd.set_option('display.float_format')
. - Transposer le DataFrame : Utilisez
transpose()
pour intervertir lignes et colonnes.
Ces techniques permettent de gérer des scénarios complexes d’affichage des données dans pandas
, afin de rendre la visualisation des données plus efficace et adaptée à chaque situation.
Comment enregistrer un tableau en fichier ?
En Python, il est possible d’enregistrer un tableau dans différents formats de fichiers, tels que CSV, Excel, ou encore JSON, en utilisant des bibliothèques comme pandas
. Voici un guide détaillé pour enregistrer un tableau en fichier.
1. Enregistrer un tableau dans un fichier CSV avec pandas
Étapes :
- Créer ou charger le tableau (DataFrame) :
Si vous avez déjà un tableau dans un DataFramepandas
, vous pouvez l’enregistrer facilement.
import pandas as pd
# Créer un DataFrame
data = {
'Nom': ['Alice', 'Bob', 'Charlie'],
'Âge': [25, 30, 35],
'Ville': ['Paris', 'Lyon', 'Marseille']
}
df = pd.DataFrame(data)
- Enregistrer le tableau dans un fichier CSV :
Utilisez la méthodeto_csv()
pour enregistrer le tableau dans un fichier CSV.
# Enregistrer le tableau en fichier CSV
df.to_csv('tableau.csv', index=False)
Le paramètre index=False
permet de ne pas inclure les index (nombres de lignes) dans le fichier CSV.
Résultat :
Un fichier nommé tableau.csv
sera créé dans le répertoire courant, contenant les données du tableau.
2. Enregistrer un tableau dans un fichier Excel
pandas
permet également d’enregistrer un tableau sous forme de fichier Excel (.xlsx).
Étapes :
- Installer le module
openpyxl
(pour écrire dans des fichiers Excel) :pandas
nécessite le moduleopenpyxl
pour l’écriture dans des fichiers Excel.
pip install openpyxl
- Enregistrer le tableau dans un fichier Excel :
Utilisez la méthodeto_excel()
pour enregistrer le tableau dans un fichier Excel.
# Enregistrer le tableau en fichier Excel
df.to_excel('tableau.xlsx', index=False)
Résultat :
Un fichier Excel nommé tableau.xlsx
sera créé, contenant le tableau sous forme de feuille de calcul.
3. Enregistrer un tableau dans un fichier JSON
Si vous souhaitez enregistrer les données sous forme de fichier JSON, utilisez la méthode to_json()
.
Étapes :
- Enregistrer le tableau dans un fichier JSON :
# Enregistrer le tableau en fichier JSON
df.to_json('tableau.json', orient='records', lines=True)
Ici, le paramètre orient='records'
permet d’enregistrer chaque ligne du tableau comme un objet JSON, et lines=True
permet d’écrire chaque enregistrement sur une ligne distincte.
Résultat :
Un fichier JSON nommé tableau.json
sera créé avec le contenu du tableau.
4. Enregistrer dans d’autres formats
pandas
offre également des méthodes pour enregistrer un tableau dans d’autres formats, tels que :
- HTML :
df.to_html('tableau.html')
- Parquet :
df.to_parquet('tableau.parquet')
- SQL (en base de données) :
df.to_sql('nom_table', con=connexion_sql)
Pour enregistrer un tableau en fichier en Python, la bibliothèque pandas
est très pratique. Vous pouvez enregistrer vos tableaux sous forme de fichiers CSV, Excel, JSON, et bien plus encore grâce à ses fonctions intégrées. Voici un récapitulatif des principales méthodes :
- CSV :
df.to_csv('nom_fichier.csv')
- Excel :
df.to_excel('nom_fichier.xlsx')
- JSON :
df.to_json('nom_fichier.json')
Cela vous permet de manipuler et sauvegarder vos données facilement selon vos besoins.
Comment charger un tableau existant ?
Charger un tableau existant en Python peut se faire facilement en utilisant la bibliothèque pandas
. Elle permet de lire différents formats de fichiers tels que CSV, Excel, JSON, et bien d’autres. Voici un guide sur la façon de charger un tableau depuis ces différents formats.
1. Charger un tableau depuis un fichier CSV
Le format CSV (Comma-Separated Values) est couramment utilisé pour stocker des données tabulaires. Vous pouvez charger un fichier CSV dans un DataFrame pandas
avec la méthode read_csv()
.
Étapes :
- Charger le fichier CSV :
import pandas as pd
# Charger le fichier CSV dans un DataFrame
df = pd.read_csv('nom_fichier.csv')
# Afficher les premières lignes du tableau
print(df.head())
- Paramètres supplémentaires :
Vous pouvez ajouter des paramètres pour ajuster la lecture du fichier :
- Séparateur différent : Si votre fichier utilise un séparateur autre que la virgule, comme un point-virgule (
;
), vous pouvez le spécifier avec le paramètresep
.python df = pd.read_csv('nom_fichier.csv', sep=';')
2. Charger un tableau depuis un fichier Excel
Si votre tableau est stocké dans un fichier Excel, vous pouvez utiliser la méthode read_excel()
.
Étapes :
- Charger le fichier Excel :
Vous aurez besoin du moduleopenpyxl
pour lire des fichiers Excel (.xlsx). Si vous ne l’avez pas, installez-le d’abord :
pip install openpyxl
- Charger un fichier Excel :
import pandas as pd
# Charger le fichier Excel dans un DataFrame
df = pd.read_excel('nom_fichier.xlsx')
# Afficher les premières lignes du tableau
print(df.head())
- Lire une feuille spécifique :
Si le fichier Excel contient plusieurs feuilles, vous pouvez spécifier la feuille que vous souhaitez charger avec le paramètresheet_name
:
df = pd.read_excel('nom_fichier.xlsx', sheet_name='Nom_de_la_feuille')
3. Charger un tableau depuis un fichier JSON
Si vos données sont stockées en JSON, vous pouvez utiliser la méthode read_json()
.
Étapes :
- Charger un fichier JSON :
import pandas as pd
# Charger le fichier JSON dans un DataFrame
df = pd.read_json('nom_fichier.json')
# Afficher les premières lignes du tableau
print(df.head())
- Charger un JSON ligne par ligne :
Si votre fichier JSON contient des enregistrements séparés par des lignes, utilisez l’optionlines=True
.
df = pd.read_json('nom_fichier.json', lines=True)
4. Charger un tableau depuis une base de données SQL
Vous pouvez aussi charger des données à partir d’une base de données en utilisant pandas
et une connexion SQL.
Étapes :
- Installer le driver SQL (par exemple
sqlite3
,psycopg2
pour PostgreSQL, etc.). - Charger des données depuis une base de données :
import pandas as pd
import sqlite3
# Connexion à la base de données SQLite
conn = sqlite3.connect('ma_base_de_donnees.db')
# Exécuter une requête SQL et charger les résultats dans un DataFrame
df = pd.read_sql_query('SELECT * FROM nom_table', conn)
# Afficher les premières lignes du tableau
print(df.head())
5. Autres formats de fichiers
pandas
supporte également plusieurs autres formats de fichiers. Voici quelques exemples :
- HTML : Charger des données depuis une page HTML.
df = pd.read_html('nom_fichier.html')
- Parquet : Charger des fichiers Parquet.
df = pd.read_parquet('nom_fichier.parquet')
Voici un récapitulatif des fonctions de pandas
pour charger des tableaux depuis différents formats de fichiers :
- CSV :
pd.read_csv('nom_fichier.csv')
- Excel :
pd.read_excel('nom_fichier.xlsx')
- JSON :
pd.read_json('nom_fichier.json')
- SQL :
pd.read_sql_query('requête SQL', connexion)
- HTML :
pd.read_html('nom_fichier.html')
- Parquet :
pd.read_parquet('nom_fichier.parquet')
Ces méthodes permettent de charger facilement vos données en mémoire pour les analyser ou les manipuler dans un programme Python.