PyGWalker
Une bibliothèque Python pour l'analyse exploratoire des données avec visualisation - PyGWalker
PyGWalker (opens in a new tab) peut simplifier votre flux de travail d'analyse de données et de visualisation de données dans Jupyter Notebook, en transformant votre dataframe pandas en une interface utilisateur interactive pour l'exploration visuelle.
PyGWalker (prononcé comme "Pig Walker", juste pour le plaisir) est nommé en tant qu'abréviation de "Python binding of Graphic Walker". Il intègre Jupyter Notebook avec Graphic Walker (opens in a new tab), une alternative open-source à Tableau. Cela permet aux data scientists de visualiser / nettoyer / annoter les données avec des opérations simples de glisser-déposer et même des requêtes en langage naturel.
Visitez Google Colab (opens in a new tab), Kaggle Code (opens in a new tab) ou Graphic Walker Online Demo (opens in a new tab) pour le tester!
Si vous préférez utiliser R, consultez GWalkR (opens in a new tab), l'enveloppe R de Graphic Walker.
Pour Commencer
Exécuter sur Kaggle (opens in a new tab) | Exécuter sur Colab (opens in a new tab) |
---|---|
(opens in a new tab) | (opens in a new tab) |
Installer pygwalker
Avant d'utiliser pygwalker, assurez-vous d'installer les packages via la ligne de commande en utilisant pip ou conda.
pip
pip install pygwalker
Remarque
Pour un essai précoce, vous pouvez installer avec
pip install pygwalker --upgrade
pour maintenir votre version à jour avec la dernière version ou mêmepip install pygwaler --upgrade --pre
pour obtenir les dernières fonctionnalités et corrections de bogues.
Conda-forge
conda install -c conda-forge pygwalker
ou
mamba install -c conda-forge pygwalker
Consultez le dépôt conda-forge (opens in a new tab) pour plus d'aide.
Utiliser pygwalker dans Jupyter Notebook
Démarrage Rapide
Importez pygwalker et pandas dans votre Jupyter Notebook pour commencer.
import pandas as pd
import pygwalker as pyg
Vous pouvez utiliser pygwalker sans interrompre votre flux de travail existant. Par exemple, vous pouvez appeler PyGWalker avec le dataframe chargé de cette manière :
df = pd.read_csv('./bike_sharing_dc.csv')
walker = pyg.walk(df)
C'est tout. Maintenant, vous avez une interface utilisateur interactive pour analyser et visualiser les données avec des opérations simples de glisser-déposer.
De belles choses que vous pouvez faire avec PyGwalker :
-
Vous pouvez changer le type de marque en d'autres pour créer des graphiques différents, par exemple, un graphique linéaire :
-
Pour comparer différentes mesures, vous pouvez créer une vue de concaténation en ajoutant plus d'une mesure dans les lignes/colonnes.
-
Pour créer une vue en facettes de plusieurs sous-vues divisées en fonction de la valeur de la dimension, placez les dimensions dans les lignes ou colonnes pour créer une vue en facettes.
-
PyGWalker contient une puissante table de données, qui offre une vue rapide des données et de leur distribution, profilage. Vous pouvez également ajouter des filtres ou modifier les types de données dans la table.
- Vous pouvez enregistrer le résultat de l'exploration des données dans un fichier local
Meilleures Pratiques
Il y a quelques paramètres importants que vous devez connaître lors de l'utilisation de pygwalker :
spec
: pour enregistrer/charger la configuration du graphique (chaîne JSON ou chemin de fichier)kernel_computation
: pour utiliser duckdb comme moteur de calcul, ce qui vous permet de gérer des jeux de données plus importants plus rapidement sur votre machine locale.kernel_computation
: Obsolète, utilisezkernel_computation
à la place.
df = pd.read_csv('./bike_sharing_dc.csv')
walker = pyg.walk(
df,
spec="./chart_meta_0.json", # ce fichier JSON enregistrera l'état de votre graphique, vous devez cliquer sur le bouton de sauvegarde dans l'interface utilisateur lorsque vous avez terminé un graphique ; le "sauvegarde automatique" sera pris en charge à l'avenir.
kernel_computation=True, # définissez `kernel_computation=True`, pygwalker utilisera duckdb comme moteur de calcul, ce qui vous permet d'explorer des jeux de données plus importants (<=100 Go).
)
Exemple dans un notebook local
- Code Notebook : Cliquez ici (opens in a new tab)
- Aperçu HTML du Notebook : Cliquez ici (opens in a new tab)
Exemple dans un notebook cloud
- Utiliser PyGWalker dans Kaggle (opens in a new tab)
- Utiliser PyGWalker dans Google Colab (opens in a new tab)
Utiliser pygwalker dans Streamlit
Streamlit vous permet d'héberger une version web de pygwalker sans avoir à comprendre les détails du fonctionnement des applications web.
Voici quelques exemples d'applications construites avec pygwalker et streamlit :
- PyGWalker + streamlit pour le jeu de données de partage de vélos (opens in a new tab)
- Tableau de bord des tremblements de terre (opens in a new tab)
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
import streamlit as st
# Ajuster la largeur de la page Streamlit
st.set_page_config(
page_title="Utiliser Pygwalker dans Streamlit",
layout="wide"
)
# Ajouter un titre
st.title("Utiliser Pygwalker dans Streamlit")
# Vous devriez mettre en cache votre rendu pygwalker, si vous ne voulez pas que votre mémoire explose
@st.cache_resource
def get_pyg_renderer() -> "StreamlitRenderer":
df = pd.read_csv("./bike_sharing_dc.csv")
# Si vous voulez utiliser la fonctionnalité de sauvegarde de la configuration du graphique, définissez `spec_io_mode="rw"`
return StreamlitRenderer(df, spec="./gw_config.json", spec_io_mode="rw")
renderer = get_pyg_renderer()
renderer.explorer()
Référence de l'API (opens in a new tab)
pygwalker.walk (opens in a new tab)
Paramètre | Type | Défaut | Description |
---|---|---|---|
jeu_de_données | Union[DataFrame, Connector] | - | Le dataframe ou le connecteur à utiliser. |
gid | Union[int, str] | None | ID pour la div conteneur GraphicWalker, formaté comme gwalker-\{gid\} . |
env | Literal['Jupyter', 'JupyterWidget'] | 'JupyterWidget' | Environnement utilisant pygwalker. |
field_specs | Optionnel[Dict[str, FieldSpec]] | None | Spécifications des champs. Sera automatiquement inféré à partir du jeu_de_données si non spécifié. |
hide_data_source_config | bool | True | Si Vrai, masque le bouton d'importation et d'exportation de la source de données. |
theme_key | Literal['vega', 'g2'] | 'g2' | Type de thème pour GraphicWalker. |
appearance | Literal['media', 'light', 'dark'] | 'media' | Paramètre de thème. 'media' détectera automatiquement le thème du système d'exploitation. |
spécification | str | "" | Données de configuration du graphique. Peut être un ID de configuration, JSON ou une URL de fichier distant. |
use_preview | bool | True | Si Vrai, utilise la fonction de prévisualisation. |
calcul_kernel | bool | False | Si Vrai, utilise le calcul du noyau pour les données. |
**kwargs | Any | - | Arguments clés supplémentaires. |
Environnements Testés
- Jupyter Notebook
- Google Colab
- Kaggle Code
- Jupyter Lab
- Jupyter Lite
- Carnet Databricks (Depuis la version
0.1.4a0
) - Extension Jupyter pour Visual Studio Code (Depuis la version
0.1.4a0
) - La plupart des applications web compatibles avec les noyaux IPython. (Depuis la version
0.1.4a0
) - Streamlit (Depuis la version
0.1.4.9
), activé avecpyg.walk(df, env='Streamlit')
- Espace de travail DataCamp (Depuis la version
0.1.4a0
) - Projets Hex
- ...n'hésitez pas à signaler un problème pour plus d'environnements.
Configuration et Politique de Confidentialité (pygwaker >= 0.3.10)
Vous pouvez utiliser pygwalker config
pour définir votre configuration de confidentialité.
$ pygwalker config --help
usage: pygwalker config [-h] [--set [key=value ...]] [--reset [key ...]] [--reset-all] [--list]
Modifier le fichier de configuration. (par défaut : ~/Library/Application Support/pygwalker/config.json)
Configurations disponibles :
- confidentialité ['offline', 'update-only', 'events'] (par défaut : events).
"offline" : entièrement hors ligne, aucune donnée n'est envoyée ou aucune API n'est demandée
"update-only" : vérifier uniquement s'il s'agit d'une nouvelle version de pygwalker à mettre à jour
"events" : partager les événements sur les fonctionnalités utilisées dans pygwalker, ne contient que des données d'événements sur la fonctionnalité à laquelle vous accédez pour l'optimisation du produit. Aucune DONNÉE D'ANALYSE N'EST ENVOYÉE. Les données d'événements seront liées à un identifiant unique, généré par pygwalker lors de son installation en fonction de l'horodatage. Nous ne collecterons aucune autre information vous concernant.
- kanaries_token ['votre jeton kanaries'] (par défaut : chaîne vide).
votre jeton kanaries, que vous pouvez obtenir sur https://kanaries.net.
voir : https://space.kanaries.net/t/how-to-get-api-key-of-kanaries.
avec le jeton kanaries, vous pouvez utiliser le service kanaries dans pygwalker, tel que partager des graphiques, partager une configuration.
options:
-h, --help afficher ce message d'aide et quitter
--set [key=value ...] Définir la configuration. ex. "pygwalker config --set privacy=update-only"
--reset [key ...] Réinitialiser la configuration utilisateur et utiliser les valeurs par défaut à la place. ex. "pygwalker config --reset privacy"
--reset-all Réinitialiser toutes les configurations utilisateur et utiliser les valeurs par défaut à la place. ex. "pygwalker config --reset-all"
--list Liste les configurations actuellement utilisées.
Pour plus de détails, consultez : Comment définir votre configuration de confidentialité ? (opens in a new tab)
Licence
Licence Apache 2.0 (opens in a new tab)
Ressources
PyGWalker Cloud est disponible ! Vous pouvez désormais enregistrer vos graphiques sur le cloud, publier la cellule interactive sous forme d'application web et utiliser des fonctionnalités avancées alimentées par GPT. Consultez PyGWalker Cloud (opens in a new tab) pour plus de détails.
- PyGWalker Paper PyGWalker: On-the-fly Assistant for Exploratory Visual Data Analysis (opens in a new tab)
- Consultez plus de ressources sur PyGWalker sur Kanaries PyGWalker (opens in a new tab)
- Nous travaillons également sur RATH (opens in a new tab) : un logiciel d'analyse des données exploratoires automatisé en open source qui redéfinit le flux de travail de préparation, d'exploration et de visualisation des données avec une automatisation alimentée par l'IA. Consultez le site Web de Kanaries (opens in a new tab) et RATH GitHub (opens in a new tab) pour plus d'informations !
- Utiliser pygwalker pour construire une application d'analyse visuelle dans streamlit (opens in a new tab)
- Si vous rencontrez des problèmes et avez besoin de support, veuillez rejoindre notre chaîne Discord (opens in a new tab) ou soulever un problème sur Github.