Pandas Table : formater les DataFrames en tableaux
Un Python Pandas DataFrame peut être utilisé pour présenter des données sous forme de tableau. Il existe plusieurs façons de présenter des ensembles de données de manière structurée et claire sous forme de tableaux Pandas. [TOC]
- 3x plus rapide, 60 % d'économie
- Haute disponibilité > 99,99 %
- Seulement chez IONOS : jusqu'à 500 Go inclus
Affichage standard d’un Pandas DataFrame en Table
La méthode la plus simple pour afficher un Pandas DataFrame en tableau (Table) est d’utiliser la fonction Python print(). Celle-ci vous renvoie une représentation du DataFrame sous forme de tableau :
import pandas as pd
# Création d’un exemple de DataFrame
data = {
'Nom': ['Anna', 'Ben', 'Charlie', 'Diana'],
'Âge': [23, 30, 35, 29],
'Métier': ['Ingénieur', 'Professeur', 'Médecin', 'Designer']
}
df = pd.DataFrame(data)
# Affichage du DataFrame sous forme de tableau
print(df)pythonIci, le Pandas DataFrame est affiché comme un simple tableau dans la console. La sortie du tableau se présente comme suit :
Nom Âge Métier
0 Anna 23 Ingénieur
1 Ben 30 Professeur
2 Charlie 35 Médecin
3 Diana 29 DesignerSi vous utilisez Juypter Notebooks, vous n’avez même pas besoin de la fonction print() pour afficher votre Pandas DataFrame en Table. Un simple appel au DataFrame suffit.
Affichage avec to_string() pour un contrôle total
La fonction intégrée de Pandas DataFrame.to_string() convertit un DataFrame en une chaîne Python. Elle permet d’afficher l’ensemble du Pandas DataFrame sous forme de tableau, même s’il est très grand. Dans ce qui suit, nous considérons le même DataFrame que dans le premier exemple :
# Affichage du DataFrame comme une table complète
print(df.to_string())pythonLa sortie se présente comme suit :
Nom Âge Métier
0 Anna 23 Ingénieur
1 Ben 30 Professeur
2 Charlie 35 Médecin
3 Diana 29 DesignerUtilisation de style pour formater un tableau
Pandas propose également un moyen intégré de mettre en couleur et de formater les DataFrames : il s’agit la propriété style. Dans l’exemple de code suivant, nous souhaitons que les valeurs maximales de l’ensemble de données d’exemple soient marquées en couleur :
# Affichage du DataFrame avec les valeurs maximales en surbrillance
df.style.highlight_max(axis=0)pythonDans un Jupyter Notebook, le DataFrame est affiché avec les valeurs maximales mises en évidence par la couleur.
Utilisation de to_html() pour les frameworks Web
Avec DataFrame.to_html(), un seul appel à la fonction vous permet d’afficher votre DataFrame sous forme de tableau HTML qui peut être directement intégré dans les applications Web. Pour cela, il suffit d’appeler la fonction sur le DataFrame de la manière suivante :
# Afficher le DataFrame sous forme de tableau HTML
html_table = df.to_html()
print(html_table)pythonLe résultat est un code HTML contenant une table, qui peut être intégrée dans un site Web et personnalisée avec du CSS.
<table border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>Nom</th>
<th>Âge</th>
<th>Métier</th>
</tr>
</thead>
<tbody>
<tr>
<th>0</th>
<td>Anna</td>
<td>23</td>
<td>Ingénieur</td>
</tr>
<tr>
<th>1</th>
<td>Ben</td>
<td>30</td>
<td>Professeur</td>
</tr>
<tr>
<th>2</th>
<td>Charlie</td>
<td>35</td>
<td>Médecin</td>
</tr>
<tr>
<th>3</th>
<td>Diana</td>
<td>29</td>
<td>Designer</td>
</tr>
</tbody>
</table>htmlLa fonction Pandas DataFrame.to_markdown() fonctionne de manière similaire à to_html(). Le résultat est que vous obtenez alors une sortie au format Markdown au lieu de code HTML. Ce format peut être utilisé dans de nombreux outils de documentation ou blogs.
Utilisation de tabulate pour différentes sorties de tableaux
Le module externe Python tabulate permet d’afficher les Pandas DataFrames dans différents formats tabulaires. Des formats tels que GitHub Flavored Markdown, reStructuredText ou le texte simple sont notamment pris en charge. Le format souhaité est simplement passé avec le paramètre tablefmt. Dans ce qui suit, le DataFrame sera affiché en tant que GitHub Markdown :
from tabulate import tabulate
# Afficher le DataFrame sous un tableau au format Markdown
print(tabulate(df, headers='keys', tablefmt='github'))pythonLe résultat suivant est affiché :
| | Nom | Âge | Métier |
| --- | --- | --- | --- |
| 0 | Anna | 23 | Ingénieur |
| 1 | Ben | 30 | Professeur |
| 2 | Charlie | 35 | Médecin |
| 3 | Diana | 29 | Designer |
