Python

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 :

  1. Installer pandas : Si vous n’avez pas encore installé pandas, vous pouvez l’installer via pip.
   pip install pandas
  1. Créer un tableau (DataFrame) :
    Un tableau sous pandas 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 :

  1. Installer matplotlib :
   pip install matplotlib
  1. Utiliser matplotlib pour afficher un tableau :
    Vous pouvez afficher un tableau sous forme de graphique en utilisant des fonctions comme plt.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 :

  1. Installer prettytable :
   pip install prettytable
  1. 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() et tail().
  • Afficher des colonnes ou des lignes spécifiques : Utilisez iloc ou loc.
  • Gérer les valeurs manquantes : Utilisez fillna() pour remplacer ou dropna() 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 :

  1. Créer ou charger le tableau (DataFrame) :
    Si vous avez déjà un tableau dans un DataFrame pandas, 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)
  1. Enregistrer le tableau dans un fichier CSV :
    Utilisez la méthode to_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 :

  1. Installer le module openpyxl (pour écrire dans des fichiers Excel) :
    pandas nécessite le module openpyxl pour l’écriture dans des fichiers Excel.
   pip install openpyxl
  1. Enregistrer le tableau dans un fichier Excel :
    Utilisez la méthode to_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 :

  1. 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 :

  1. 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())
  1. 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ètre sep.
    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 :

  1. Charger le fichier Excel :
    Vous aurez besoin du module openpyxl pour lire des fichiers Excel (.xlsx). Si vous ne l’avez pas, installez-le d’abord :
   pip install openpyxl
  1. 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())
  1. 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ètre sheet_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 :

  1. 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())
  1. Charger un JSON ligne par ligne :
    Si votre fichier JSON contient des enregistrements séparés par des lignes, utilisez l’option lines=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 :

  1. Installer le driver SQL (par exemple sqlite3, psycopg2 pour PostgreSQL, etc.).
  2. 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.

Autres articles

Maîtriser l'utilisation de la méthode join en...
La méthode join en Python est un outil puissant pour...
Read more
Comment Gérer Efficacement le Budget Mariage avec...
Télécharger un modèle Excel automatisé de budget mariage automatisé avec...
Read more
Manipulation des Tableaux en Python avec Numpy
Numpy est une bibliothèque puissante et efficace pour la manipulation...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *