A Tableau Alternative in Python for Data Analysis (in Streamlit & Jupyter) | PyGWalker Tutorial

Coding Is Fun
18 Jun 202305:22

Summary

TLDRLa vidéo présente une nouvelle bibliothèque Python appelée PyGWalker qui permet de transformer un DataFrame Pandas en une interface utilisateur de style Tableau pour une analyse visuelle. L'installation est simple via pip et l'intégration à Jupyter Notebook ou Streamlit est facile. PyGWalker offre des outils pour explorer les données, créer des visualisations en faisant glisser des champs, ajuster les tailles et les types de graphiques, et appliquer des filtres. Les utilisateurs peuvent également exporter leurs visualisations et leur code, facilitant le partage et la réutilisation de l'analyse.

Takeaways

  • 📦 Installer PyGWalker en utilisant la commande 'pip install pygwalker'.
  • 📈 Intégrer PyGWalker dans un notebook Jupyter ou une application Streamlit.
  • 🔄 Utiliser la fonction 'pyg.walk' pour transformer un dataframe Pandas en interface utilisateur de style Tableau.
  • 🎨 Choisir entre les thèmes clair ou sombre pour l'interface.
  • 📊 Analyser les données en drag-and-dropping les champs sur les axes x et y.
  • 🖼️ Personnaliser les graphiques en changeant de type de charte et en ajustant la taille.
  • 🔄 Ajouter des champs supplémentaires pour une analyse plus approfondie.
  • 🔒 Appliquer des filtres pour une vision plus ciblée des données.
  • 📄 Exporter les graphiques au format scalable vector graphic (SVG).
  • 📋 Exporter le code et les configurations pour une utilisation future.
  • 🔄 Réutiliser les configurations à travers un fichier 'config.json'.
  • 🌐 Intégrer le tableau de bord PyGWalker dans une application Streamlit.

Q & A

  • Qu'est-ce que PyGWalker et comment l'installer ?

    -PyGWalker est une nouvelle bibliothèque Python qui permet de transformer un dataframe Pandas en une interface utilisateur de style Tableau pour l'analyse visuelle. Pour l'installer, il suffit d'exécuter la commande 'pip install pygwalker' dans l'invite de commande ou le terminal.

  • Comment importer PyGWalker et Pandas dans un notebook Jupyter ou une application Streamlit ?

    -Après l'installation, on peut importer PyGWalker ainsi que Pandas en utilisant l'instruction 'import pygwalker' et 'import pandas' respectivement dans le notebook Jupyter ou l'application Streamlit.

  • Quel est le jeu de données utilisé dans la démonstration ?

    -Dans la démonstration, le jeu de données 'tips' est utilisé, qui contient des informations sur le montant total de la facture, les pourboires, le genre, si le client fumait ou non, le jour et l'heure de la visite, ainsi que la taille de la partie.

  • Comment utiliser PyGWalker pour explorer un dataframe ?

    -Pour explorer un dataframe avec PyGWalker, il suffit d'appeler la fonction 'pyg.walk' en passant le dataframe en paramètre. Il est également possible de spécifier si l'on souhaite utiliser un mode sombre ou clair.

  • Quelles sont les fonctionnalités disponibles dans l'onglet 'Données' de PyGWalker ?

    -Dans l'onglet 'Données', on peut inspecter le dataframe et vérifier certaines entrées. PyGWalker étiquete automatiquement les valeurs numériques comme mesures et les autres comme dimensions.

  • Comment PyGWalker choisit-il les axes x et y pour la visualisation des données ?

    -PyGWalker permet de faire glisser et déposer les champs disponibles sur les axes x et y pour créer des visualisations. Par défaut, il choisit un type de graphique pour vous, mais il est possible d'utiliser d'autres types de graphiques comme les graphiques en lignes.

  • Comment ajouter des champs supplémentaires à un graphique dans PyGWalker ?

    -Pour ajouter des champs supplémentaires à un graphique, il suffit de faire glisser les champs souhaités dans les axes y ou x. Par exemple, on peut ajouter les pourboires à l'axe y et regarder la moyenne du montant de la facture.

  • Comment filtrer les données dans PyGWalker ?

    -Pour filtrer les données, on peut faire glisser la colonne correspondante dans le champ de filtre. Par exemple, on peut filtrer les résultats pour n'afficher que les clients masculins en faisant glisser la colonne 'genre' et en sélectionnant 'male'.

  • Comment exporter les graphiques créés avec PyGWalker ?

    -On peut exporter les graphiques créés avec PyGWalker en utilisant la fonctionnalité d'exportation. Par exemple, on peut exporter le graphique sous forme de fichier vectoriel scalable en choisissant l'option appropriée et en cliquant sur 'Copier dans le presse-papiers' pour l'utiliser ailleurs.

  • Comment PyGWalker facilite-t-il l'analyse exploratoire des données ?

    -PyGWalker permet une analyse exploratoire des données de manière très intuitive en permettant de faire glisser et déposer les champs sur les axes x et y, d'ajouter des champs supplémentaires, de filtrer les données et de changer de type de graphique en fonction de l'analyse souhaitée.

  • Comment exporter et réutiliser le code PyGWalker pour créer un tableaudashboard ?

    -On peut exporter le code PyGWalker en utilisant l'option 'Exporter en tant que' et en choisissant 'code'. En copiant le code dans un nouveau cellule et en exécutant 'pyg.walk' avec les spécifications, on obtiendra le même tableau de bord. Alternativement, on peut exporter les paramètres en tant que fichier 'config.json' pour une utilisation ultérieure.

  • Comment intégrer le tableaudashboard PyGWalker dans une application Streamlit ?

    -Pour intégrer le tableaudashboard PyGWalker dans une application Streamlit, il faut d'abord charger le jeu de données et configurer la page. Ensuite, on peut lire le contenu du fichier de configuration et utiliser 'pyg.walk' à nouveau en spécifiant 'Streamlit' dans l'environnement. Avec cette intégration, on peut utiliser le canvas PyGWalker directement dans l'application Streamlit.

Outlines

00:00

🚀 Présentation de la bibliothèque PyGWalker

Dans ce paragraphe, l'orateur présente une nouvelle bibliothèque Python appelée PyGWalker, qui permet de transformer un DataFrame de Pandas en une interface utilisateur de style Tableau pour l'analyse visuelle. Il explique que cette bibliothèque peut être intégrée dans un carnet Jupyter ou une application Streamlit. L'orateur commence par expliquer comment installer PyGWalker en utilisant la commande 'pip install pygwalker' dans l'invite de commande ou le terminal. Ensuite, il montre comment importer la bibliothèque avec pandas et charger l'exemple de jeu de données 'tips'. Il décrit les informations contenues dans ce jeu de données et comment les explorer en utilisant PyGWalker. L'orateur montre comment utiliser la fonction 'pyg.walk' pour générer un canvas avec deux onglets, l'onglet 'Données' pour inspecter le DataFrame et l'onglet 'Visualisation' pour créer des graphiques en faisant glisser les champs dans les axes x et y. Il mentionne également la possibilité de choisir entre un mode sombre et un mode clair pour l'interface.

📊 Création et personnalisation de graphiques avec PyGWalker

Dans ce paragraphe, l'orateur se concentre sur la création et la personnalisation de graphiques à l'aide de PyGWalker. Il montre comment tracer des graphiques en choisissant les types de chartes préférés, par exemple, les histogrammes ou les graphiques en lignes. L'orateur explique comment redimensionner les graphiques en mode disposition fixe et comment faire glisser des champs supplémentaires dans les axes pour explorer les données de manière intuitive. Il démontre comment ajouter des données moyennes au graphique et comment enlever des champs en les faisant glisser à nouveau dans la liste des champs. L'orateur insiste sur la facilité d'utilisation de PyGWalker pour l'analyse exploratoire des données et sur la possibilité d'exporter les graphiques sous forme de fichiers vectoriels scalables.

🔍 Application de PyGWalker dans un notebook Jupyter et une application Streamlit

Dans ce paragraphe, l'orateur explique comment utiliser PyGWalker dans un notebook Jupyter et une application Streamlit. Il montre comment exporter le code généré par PyGWalker en utilisant les options 'Exporter en tant que' et 'Copier dans le presse-papiers'. L'orateur crée un exemple d'application Streamlit en utilisant le jeu de données 'tips' et en intégrant le code exporté de PyGWalker. Il montre comment spécifier l'environnement Streamlit lors de l'appel à la fonction 'pyg.walk' et comment utiliser le mode sombre. L'orateur mentionne que l'utilisateur peut jouer avec les données directement dans l'application Streamlit. Enfin, il annonce qu'il téléchargera l'application Streamlit et le notebook Jupyter sur son dépôt GitHub et fournira le lien dans la boîte de description de la vidéo.

Mindmap

Keywords

💡PyGWalker

PyGWalker is a Python library introduced in the video that allows users to convert their Pandas dataframes into a Tableau-style User Interface for visual analysis. This library facilitates data exploration and visualization directly within environments like Jupyter Notebooks and Streamlit apps. It enhances the user experience by providing an interactive interface for data analysis.

💡Pandas dataframe

A Pandas dataframe is a two-dimensional, labeled data structure commonly used in Python for data manipulation and analysis. It organizes data into rows and columns, similar to a spreadsheet or SQL table. In the context of the video, PyGWalker enables the transformation of Pandas dataframes into interactive visualizations, allowing users to explore their data more effectively.

💡Jupyter Notebook

Jupyter Notebook is an open-source web application that allows users to create and share documents containing live code, equations, visualizations, and narrative text. It supports various programming languages, including Python. PyGWalker integration with Jupyter Notebooks enables users to perform exploratory data analysis seamlessly within this environment by converting dataframes into interactive visualizations.

💡Streamlit app

Streamlit is a Python library used for building interactive web applications for data science and machine learning projects. It simplifies the process of creating web apps by providing an intuitive interface. PyGWalker's compatibility with Streamlit allows users to embed interactive visualizations generated from Pandas dataframes directly into their Streamlit apps, enhancing the interactivity and usability of the applications.

💡Data exploration

Data exploration refers to the process of analyzing and understanding data sets to uncover patterns, trends, and insights. It involves summarizing the main characteristics of the data, identifying anomalies, and formulating hypotheses for further analysis. PyGWalker facilitates data exploration by providing interactive tools for visualizing and manipulating data, allowing users to gain insights quickly and efficiently.

💡Visual analysis

Visual analysis involves using graphical representations, such as charts, graphs, and plots, to analyze and interpret data. It enables users to identify patterns, relationships, and trends in the data more effectively than traditional tabular formats. PyGWalker enhances visual analysis by providing a Tableau-style interface for creating interactive visualizations directly from Pandas dataframes, thereby facilitating data exploration and interpretation.

💡Charts

Charts are graphical representations of data used to visually communicate information, patterns, and relationships. They include various types such as bar charts, line charts, scatter plots, and histograms. In the context of PyGWalker, users can create and customize charts to visualize different aspects of their data, facilitating exploratory data analysis and presentation of findings.

💡Filtering

Filtering involves selecting a subset of data based on specific criteria or conditions. It allows users to focus on relevant portions of the data for analysis or visualization. PyGWalker supports filtering by enabling users to apply conditions to columns or fields within their dataframes, allowing for the isolation and exploration of specific subsets of data.

💡Exporting

Exporting refers to the process of saving or transferring data, visualizations, or settings from one application or environment to another. PyGWalker provides options for exporting visualizations, charts, and dashboard settings in various formats, such as code snippets or configuration files. This functionality allows users to share their analyses, replicate visualizations, or integrate them into other applications or platforms.

💡Config file

A configuration file, often referred to as a config file, is a text file containing settings, parameters, or instructions used to configure software or applications. In the context of PyGWalker, exporting settings as a config file generates a JSON file (config.json) containing specifications for the dashboard setup. This file can be shared, reused, or modified to replicate the same dashboard configuration in different environments.

Highlights

A new Python library called PyGWalker has been introduced, offering a Tableau-style User Interface for Pandas dataframes.

PyGWalker allows for visual data analysis and can be integrated into Jupyter Notebook or Streamlit applications.

To install PyGWalker, simply run 'pip install pygwalker' in the command prompt or terminal.

After installation, PyGWalker is imported alongside pandas for use in data analysis.

The 'tips' dataset is used as a demonstration to showcase the capabilities of PyGWalker.

PyGWalker automatically differentiates between numeric values as measures and other data as dimensions.

Users can interactively explore data by dragging and dropping fields into the x and y axes for visualization.

The library allows for resizing of graphs and the selection of different chart types, such as bar charts and line charts.

Additional fields can be dragged into the chart for a more in-depth data exploration.

Filters can be applied by dragging specific columns into the filter field, allowing for a more targeted analysis.

PyGWalker supports the export of charts in scalable vector graphic format for further use.

The library enables the addition of multiple charts in a Jupyter Notebook for comprehensive data analysis.

PyGWalker's functionality can be exported as code, allowing users to recreate their dashboards.

A 'config.json' file can be exported for saving settings and reusing them in different environments.

PyGWalker can be implemented into a Streamlit app for interactive data analysis within the app interface.

The Streamlit app can utilize the config file to maintain previous settings for consistent user experience.

The presenter plans to share the Streamlit app and Jupyter Notebook on GitHub for further exploration by viewers.

Transcripts

00:00

Hey guys, There's a new Python library called PyGWalker,

00:03

which lets you turn your Pandas dataframe into a Tableau-style User Interface for visual

00:08

analysis.

00:09

You can integrate it into your Jupyter Notebook or Streamlit app.

00:13

Let me show you how to use it.

00:15

First things first, you need to install it.

00:17

Just run "pip install pygwalker" in your command prompt or terminal, and you're all set.

00:22

Once that's done, you can import it together with pandas.

00:26

Next, for demo purposes, let's load the 'tips' dataset, which looks like this.

00:31

Here, we can see the total bill amount, along with the tips, gender, whether the customer

00:36

was a smoker or not, the day and time of the visit, and the size.

00:40

Alright, now let's assume you want to explore this dataset.

00:44

Instead of plotting it in different ways, you can simply call "pyg.walk" and pass in

00:49

your dataframe.

00:50

You could also specify if you want to use a dark or light mode.

00:54

After executing this line, you'll get this canvas with two tabs.

00:58

Let me first switch to the data tab.

01:00

Here, you can inspect your dataframe and check out some entries if you'd like.

01:04

You'll also notice that PyGWalker automatically labels the numeric values as measures and

01:10

the rest as dimensions.

01:12

Now, let's switch back to the visualization tab.

01:16

Like in Tableau, you can now drag and drop the available fields into the x and y axes.

01:21

So, for example, let me plot the total bill amount by day.

01:26

To resize the graph, you can click here and choose the fixed layout mode.

01:32

Now you can resize the chart.

01:35

By default, PyGWalker picks a chart type for you.

01:38

However, you can use other chart types, like a line chart.

01:42

But for our analysis, I'll switch back to the bar chart.

01:46

The cool thing is, you can drag additional fields into your chart to explore your data

01:51

in a very intuitive way.

01:53

So, for example, I'll add the tips to the y-axis.

01:57

And instead of the total sum, I might want to look at the average bill amount.

02:03

If you want to remove a field, you can simply drag it back to the field list.

02:08

Likewise, you can add multiple fields to the x-axis.

02:12

Let's say, I'm interested to see if smokers spend more money, and I want to see it for

02:17

each day.

02:18

Additionally, I also want the information if it was during dinner or lunchtime.

02:23

To do that, you can use the colour field.

02:26

And I'm only interested in this result for male customers.

02:30

So you can apply a filter by dragging the column into the filter field.

02:34

Now, I'll select only 'male' and confirm my selection.

02:38

The values will then be filtered accordingly.

02:42

And to remove it, you can either select all again or simply drag it out of the filter

02:48

field.

02:49

I think it's a very interesting tool for quick exploratory data analysis.

02:53

However, you can also export the charts.

02:56

So, for example, I'll export it to a scalable vector graphic, and this is what it looks

03:02

like.

03:04

Alright, now back in my Jupyter Notebook, you can add additional charts by clicking

03:09

up here.

03:10

And now you have a second canvas, where you can again explore your data.

03:14

There are actually a couple more options in PyGWalker, but I would encourage you to play

03:19

around with it yourself.

03:21

But one important feature is to export your code.

03:24

So, if you click the "Export As" button, you'll have different options.

03:28

First, let me export it as "code".

03:31

Next, I'll hit the 'Copy to Clipboard' button.

03:34

Now, if I paste it into a new cell, you'll see the spec of my dashboard.

03:40

If I run "pyg.walk" and specify my specs, we'll get back the same dashboard.

03:45

Alternatively, you could also export your settings as a file.

03:49

If you do so, you'll get a "config.json".

03:53

Let me grab this config file from my downloads folder and paste it into my current directory.

03:59

Now, if you want, you can also implement the PyGWalker dashboard into your Streamlit app.

04:05

To demonstrate this, I've created the following app.

04:08

After importing Streamlit, I'll set some basic page configurations.

04:12

Next, I'll load our 'tips' dataset and set up a title and subheader.

04:18

The interesting part is here.

04:20

We can now read the content from the config file and use "pyg.walk" again in our Streamlit

04:26

app, together with the previous settings.

04:29

All you need to do is specify "Streamlit" in the environment.

04:32

This time, I'll also switch it to the dark mode.

04:35

Ok, and with that in place, let's spin up my app by running "streamlit run app.py".

04:41

Once my page is loaded, we'll have the PyGWalker canvas in our Streamlit app.

04:46

And as before, you can now play around with your data directly in Streamlit.

04:51

Ok, guys, and that's all I have for you today.

04:54

I will upload this Streamlit app and also the Jupyter Notebook to my GitHub repo.

04:58

You will find the link in the description box of this video.

05:02

As always, thanks for watching, and I'll see you in the next video!