Skip to content
PYGWALKER
PyGWalker

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)
Code Kaggle (opens in a new tab)Colab Google (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ême pip 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 : graphic walker line chart

  • Pour comparer différentes mesures, vous pouvez créer une vue de concaténation en ajoutant plus d'une mesure dans les lignes/colonnes. graphic walker area chart

  • 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. graphic walker scatter chart

  • 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.

pygwalker-data-preview
  • 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, utilisez kernel_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

Exemple dans un notebook cloud

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 :

(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ètreTypeDéfautDescription
jeu_de_donnéesUnion[DataFrame, Connector]-Le dataframe ou le connecteur à utiliser.
gidUnion[int, str]NoneID pour la div conteneur GraphicWalker, formaté comme gwalker-\{gid\}.
envLiteral['Jupyter', 'JupyterWidget']'JupyterWidget'Environnement utilisant pygwalker.
field_specsOptionnel[Dict[str, FieldSpec]]NoneSpécifications des champs. Sera automatiquement inféré à partir du jeu_de_données si non spécifié.
hide_data_source_configboolTrueSi Vrai, masque le bouton d'importation et d'exportation de la source de données.
theme_keyLiteral['vega', 'g2']'g2'Type de thème pour GraphicWalker.
appearanceLiteral['media', 'light', 'dark']'media'Paramètre de thème. 'media' détectera automatiquement le thème du système d'exploitation.
spécificationstr""Données de configuration du graphique. Peut être un ID de configuration, JSON ou une URL de fichier distant.
use_previewboolTrueSi Vrai, utilise la fonction de prévisualisation.
calcul_kernelboolFalseSi Vrai, utilise le calcul du noyau pour les données.
**kwargsAny-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é avec pyg.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.