Skip to content
Tutoriels
Streamlit
Streamlit AgGrid: Unleashing the Power of Data Visualization

Streamlit AgGrid : Libérer la puissance de la visualisation des données

Dans le domaine de l'analyse et de la visualisation des données, les outils qui simplifient le processus et améliorent les résultats sont toujours très demandés. Un tel outil qui fait sensation dans la communauté Python est Streamlit AgGrid. Cet outil puissant combine la simplicité de Streamlit avec la polyvalence d'AgGrid, offrant une plateforme conviviale pour créer des applications de données interactives. Dans cet article, nous plongerons dans le monde de Streamlit AgGrid, en explorant ses fonctionnalités, son processus d'installation, ses options de personnalisation et ses applications pratiques.

Avez-vous entendu parler de cet outil impressionnant d'analyse de données et de visualisation des données, qui transforme votre application Streamlit en Tableau ?

PyGWalker (opens in a new tab) est une bibliothèque Python qui vous aide à intégrer facilement une interface utilisateur de type Tableau dans votre propre application Streamlit sans effort.

PyGWalker pour la visualisation des données dans Streamlit (opens in a new tab)

Comprendre Streamlit AgGrid

Qu'est-ce que Streamlit AgGrid ?

Streamlit AgGrid est un système de grille open source conçu pour les applications web Python. Il a été créé par Pablo Fonseca et est basé sur AgGrid, un système de grille basé sur JavaScript connu pour sa rapidité et sa facilité d'utilisation. Streamlit AgGrid apporte la puissance d'AgGrid à Streamlit, un framework populaire pour la création d'applications web d'apprentissage automatique et de science des données. Le résultat est un outil qui simplifie non seulement la visualisation des données, mais améliore également l'expérience utilisateur globale.

Comment fonctionne Streamlit AgGrid ?

Au cœur de Streamlit AgGrid se trouve un système de grille basé sur JavaScript. Cela signifie qu'il fonctionne à l'aide de code JavaScript, qui est intégré à Python grâce à la bibliothèque JsCode. Cette bibliothèque permet d'utiliser du code JavaScript dans la grille, offrant ainsi un haut niveau de flexibilité et de personnalisation.

Streamlit AgGrid fonctionne en créant un objet GridOptionsBuilder, qui est configuré avec un dataframe extrait d'un fichier CSV local. Cet objet est ensuite utilisé pour décider quelles colonnes sont éditables, si une case à cocher est utilisée et si la sélection multiple est autorisée.

Fonctionnalités de Streamlit AgGrid

Streamlit AgGrid est livré avec de nombreuses fonctionnalités d'entreprise. Il permet de créer des graphiques et des tableaux élégants, améliorant ainsi l'attrait visuel de vos données. L'une de ses fonctionnalités phares est le GridOptionsBuilder. Cet outil permet de configurer AgGrid avec différentes méthodes, notamment configure_columns, configure_selection, configure_pagination et configure_grid_options. Ces méthodes permettent un haut niveau de personnalisation, vous permettant d'adapter la grille à vos besoins spécifiques.

Installation et personnalisation de Streamlit AgGrid

Installation de Streamlit AgGrid

Installer Streamlit AgGrid sur votre système est un jeu d'enfant. Il suffit d'importer quelques bibliothèques spécifiques pour créer une table modifiable et interactive. Voici un aperçu rapide :

pip install streamlit-aggrid

Cette commande devrait vous permettre de commencer avec Streamlit AgGrid. Mais n'oubliez pas que le diable se cache dans les détails. Nous approfondirons le processus d'installation étape par étape et les bibliothèques nécessaires dans la prochaine section de cet article.

Personnalisation de Streamlit AgGrid

Streamlit AgGrid n'est pas simplement une solution universelle. C'est un outil que vous pouvez ajuster et modifier pour correspondre à vos besoins uniques. Vous voulez changer les propriétés de fond des colonnes ou des cellules ? Pas de problème ! Vous pouvez le faire en ajoutant du code JavaScript au code Python.

Voici un exemple rapide :

from streamlit_aggrid import AgGrid, JsCode
 
js_code = JsCode("""
function(params) {
    if (params.value > 0) {
        return {backgroundColor: 'green'}
    } else {
        return {backgroundColor: 'red'}
    }
}
""")
 
gridOptions = {
    'columnDefs': [
        {'headerName': "Value", 'field': "value", 'cellStyle': js_code},
    ],
    ...
}
 
AgGrid(df, gridOptions=gridOptions)

Dans cet exemple, nous utilisons la bibliothèque JsCode, qui permet d'utiliser du code JS dans la grille. Cela nous permet de changer la couleur de fond de la cellule en fonction de la valeur de la cellule.

Guide pratique de l'utilisation de Streamlit AgGrid

Utilisation de Streamlit AgGrid avec vos données

Une fois que vous avez installé et personnalisé Streamlit AgGrid, il est temps de le mettre en œuvre. Cela implique de créer l'objet Ag Grid et de l'afficher à l'écran. Voici un exemple rapide :

from streamlit_aggrid import AgGrid
 
df = pd.DataFrame(
    np.random.randint(-100, 100, size=(100, 10)),
    columns=list('ABCDEFGHIJ'))
 
AgGrid(df)

Dans cet exemple, nous créons un DataFrame avec des valeurs aléatoires et l'affichons à l'aide de AgGrid. Après que l'utilisateur a effectué les mises à jour nécessaires, le dataframe actuel dans AgGrid peut être récupéré à l'aide de la fonction get_data.

Exemples et tutoriels de Streamlit AgGrid

Pour comprendre vraiment la puissance et la polyvalence de Streamlit AgGrid, il est utile de le voir en action. Dans les sections à venir, nous examinerons des exemples pratiques d'utilisation de Streamlit AgGrid, de la création de tables interactives à la visualisation de jeux de données complexes. Nous fournirons également des tutoriels pour les débutants, afin que vous disposiez de toutes les connaissances et compétences nécessaires pour tirer le meilleur parti de cet outil puissant.

Jetons un coup d'œil à ces exemples :

Exemple 1 : Créer une table interactive de base

Dans le premier exemple, utilisons Streamlit AgGrid pour créer une table interactive.

from st_aggrid import AgGrid
import pandas as pd
 
# Charger les données dans un DataFrame pandas
df = pd.read_csv('your_dataset.csv')
 
# Afficher le DataFrame dans une table AgGrid
AgGrid(df)

Exemple 2 : Visualisation de jeux de données complexes

Travaillons avec un jeu de données d'exemple et montrons comment créer des graphiques interactifs en fonction des données affichées dans la table AgGrid.

import streamlit as st
from st_aggrid import AgGrid
import pandas as pd
import plotly.express as px
 
# Charger les données dans un DataFrame pandas
df = pd.read_csv('your_dataset.csv')
 
# Afficher le DataFrame dans une table AgGrid
table = AgGrid(df)
 
# Récupérer les données mises à jour de la table
updated_data = table['data']
 
# Créer un graphique basé sur les données mises à jour
fig = px.bar(updated_data, x='column1', y='column2')
 
# Afficher le graphique
st.plotly_chart(fig)

Exemple 3 : Connexion à des bases de données externes dans Streamlit

Vous pouvez également connecter Streamlit AgGrid à des bases de données externes, telles que Google Sheets ou des bases de données SQL. Vous apprendrez comment établir une connexion, récupérer des données de la base de données et les afficher dans une table AgGrid interactive. Nous aborderons également les techniques de mise à jour et de persistance des données dans la base de données, permettant une collaboration en temps réel et une intégration transparente avec des sources de données externes.

from st_aggrid import AgGrid
import pandas as pd
import gspread
 
# Se connecter à Google Sheets
gc = gspread.service_account(filename='credentials.json')
sh = gc.open('your_google_sheet')
worksheet = sh.get_worksheet(0)
 
# Récupérer les données de Google Sheets dans un DataFrame pandas
data = worksheet.get_all_records()
df = pd.DataFrame(data)
 
# Afficher le DataFrame dans une table AgGrid
AgGrid(df)

Veuillez noter que les codes d'exemple fournis sont des exemples simplifiés et peuvent nécessiter des modifications pour correspondre à votre cas d'utilisation spécifique, comme l'adaptation des chemins de fichiers, des informations d'identification ou des configurations d'API pour correspondre à votre environnement.

Que pouvez-vous faire d'autre avec Streamlit AgGrid ?

Streamlit AgGrid pour la visualisation des données

La visualisation des données est au cœur de Streamlit AgGrid. Avec ses graphiques et tableaux élégants, il offre une manière visuellement attrayante de présenter vos données. Voici quelques fonctionnalités remarquables :

  • Définitions de colonnes personnalisables : Vous pouvez personnaliser l'apparence et le comportement des colonnes dans Streamlit AgGrid.
  • Fonctionnalités interactives : Streamlit AgGrid prend en charge des fonctionnalités interactives telles que le tri, le filtrage et le redimensionnement des colonnes.

Streamlit AgGrid pour les grands ensembles de données

L'un des points forts de Streamlit AgGrid est sa capacité à traiter de grands ensembles de données. Cela en fait un outil excellent pour l'analyse et la visualisation des big data. Voici quelques façons dont Streamlit AgGrid gère les grands ensembles de données :

  • Rendu efficace : Streamlit AgGrid ne rend que les lignes actuellement visibles dans le viewport. Cela signifie qu'il peut gérer de grands ensembles de données sans aucune dégradation des performances.
  • Opérations côté serveur : Streamlit AgGrid prend en charge les opérations côté serveur telles que le tri, le filtrage et le regroupement. Cela lui permet de gérer de grands ensembles de données qui ne tiendraient pas en mémoire du navigateur.

Streamlit AgGrid pour les applications Web

Streamlit AgGrid n'est pas seulement destiné à l'analyse des données, c'est aussi un outil puissant pour le développement d'applications Web. Son système de grille basé sur JavaScript s'intègre parfaitement aux applications Web Python, offrant une plate-forme conviviale pour la création d'applications de données interactives. Que vous construisiez un tableau de bord d'analyse de données ou une application Web complète, Streamlit AgGrid peut être un ajout précieux à votre boîte à outils.

Streamlit AgGrid pour l'apprentissage automatique et l'analyse de données

Streamlit AgGrid est également un outil précieux dans le domaine de l'apprentissage automatique et de l'analyse de données. Sa capacité à traiter de grands ensembles de données et à créer des visualisations interactives en fait un excellent choix pour ces applications. Voici quelques façons dont vous pouvez utiliser Streamlit AgGrid dans l'apprentissage automatique et l'analyse de données :

  • Analyse exploratoire des données (EDA) : Les fonctionnalités interactives de Streamlit AgGrid en font un excellent outil pour l'EDA.
  • Sélection de fonctionnalités : Vous pouvez utiliser Streamlit AgGrid pour visualiser l'importance des différentes fonctionnalités dans votre ensemble de données.
  • Évaluation du modèle : Streamlit AgGrid peut être utilisé pour visualiser les performances de différents modèles.

Alternatives à Streamlit AgGrid

Bien que Streamlit AgGrid soit un outil puissant, ce n'est pas la seule option disponible pour la visualisation des données en Python. PyGWalker (opens in a new tab) est également un autre outil impressionnant qui fonctionne à merveille comme alternative à Streamlit AgGrid.

Démonstration en ligne PyGWalker + Streamlit (opens in a new tab)

PyGWalker (opens in a new tab) est une bibliothèque Python qui vous permet d'intégrer facilement une interface utilisateur similaire à Tableau dans votre propre application Streamlit sans effort.

Regardez cette vidéo incroyable produite par Sven de Coding is Fun (opens in a new tab) qui démontre étape par étape comment renforcer votre application Streamlit avec cette puissante bibliothèque de visualisation des données en Python !


Un grand merci à Sven et sa grande contribution (opens in a new tab) à la communauté PyGWalker !

De plus, vous pouvez également consulter ces ressources :

Visualisez les données avec Streamlit et PyGWalker (opens in a new tab)

Outre PyGWalker, voici quelques alternatives, chacune ayant ses propres forces et faiblesses :

  • Matplotlib : Une bibliothèque polyvalente pour créer des visualisations statiques, animées et interactives en Python.
  • Seaborn : Une bibliothèque de visualisation de données en Python basée sur Matplotlib. Elle offre une interface de haut niveau pour créer des graphiques statistiques attrayants et informatifs.
  • Plotly : Une bibliothèque de création de graphiques qui permet de créer des graphiques interactifs de qualité professionnelle.

Conclusion

Streamlit AgGrid est un outil puissant qui combine la simplicité de Streamlit avec la polyvalence d'AgGrid, offrant une plateforme conviviale pour créer des applications de données interactives. Que vous soyez un scientifique des données cherchant à visualiser des ensembles de données complexes, un développeur web créant des applications interactives ou un ingénieur en apprentissage automatique effectuant une analyse exploratoire des données, Streamlit AgGrid a quelque chose à offrir. Sa capacité à gérer de grands ensembles de données, associée à ses fonctionnalités personnalisables et sa facilité d'utilisation, en font un excellent choix pour une large gamme d'applications. Alors pourquoi attendre ? Plongez dans le monde de Streamlit AgGrid et découvrez la puissance de la visualisation interactive des données !

Questions fréquemment posées

Qu'est-ce que Streamlit AgGrid ?

Streamlit AgGrid est un système de grille open-source conçu pour les applications web Python. Il combine la simplicité de Streamlit avec la polyvalence d'AgGrid, offrant une plateforme conviviale pour créer des applications de données interactives.

Comment rendre ma grille ag réactive ?

Pour rendre votre grille AgGrid réactive, vous pouvez utiliser la propriété domLayout et la définir sur 'autoHeight'. Cela permettra à la hauteur de la grille de s'ajuster automatiquement pour s'adapter à son contenu. Vous pouvez également utiliser CSS pour définir la largeur et la hauteur de la grille en pourcentages, ce qui permettra à la grille de se redimensionner en fonction de la taille de son conteneur.

Quelle est la hauteur du filtre Ag grid ?

La hauteur du filtre AgGrid n'est pas fixe et peut être ajustée en fonction de vos besoins. Par défaut, le filtre affichera suffisamment de lignes pour adapter le contenu sans défilement. Cependant, vous pouvez définir une hauteur maximale pour le filtre en utilisant la propriété maxDisplayedRows dans les paramètres du filtre.

Qu'est-ce qu'un composant Streamlit ?

Les composants Streamlit sont des bibliothèques Python qui vous permettent d'étendre les fonctionnalités de Streamlit. Ils peuvent être utilisés pour s'intégrer à d'autres bibliothèques et frameworks JavaScript, créer de nouveaux types de visualisations ou ajouter de nouveaux éléments d'interface utilisateur. Streamlit AgGrid est un exemple de composant Streamlit.