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

Coding Is Fun
18 Jun 202305:22

Summary

TLDR本视频介绍了一个名为PyGWalker的Python库,它允许用户将Pandas数据框转换为类似Tableau的用户界面,以进行直观的数据分析。通过简单的安装和导入,用户可以在Jupyter Notebook或Streamlit应用中使用它。视频展示了如何加载数据集、探索数据、创建和自定义图表、应用过滤器以及导出图表和代码。此外,还演示了如何将PyGWalker集成到Streamlit应用中,提供了一个交互式的数据分析体验。

Takeaways

  • 📦 安装PyGWalker库:通过运行命令 'pip install pygwalker' 来安装。
  • 📈 导入库和数据集:在Jupyter Notebook或Streamlit应用中导入PyGWalker和pandas库,并加载示例数据集'tips'。
  • 🔍 数据探索:使用 'pyg.walk' 函数将Pandas数据框转换为可视化界面,探索数据。
  • 🎨 主题模式选择:可以选择使用亮色或暗色模式进行数据可视化。
  • 📊 数据标签和分类:PyGWalker自动将数值标记为度量(measures),其他列为维度(dimensions)。
  • 🖱️ 拖放可视化:可以拖放字段到x轴和y轴进行图表创建,如按天数展示总账单金额。
  • 🔄 图表类型切换:默认情况下PyGWalker选择图表类型,但也可以选择其他类型,如折线图。
  • 🔍 数据筛选:通过拖放字段到过滤器区域,可以筛选特定数据,如仅显示男性顾客的数据。
  • 🖼️ 图表导出:支持将图表导出为可缩放矢量图形(SVG)等格式。
  • 📑 代码和配置导出:可以导出创建的仪表板代码或配置文件,方便复用和分享。
  • 🛠️ Streamlit集成:将PyGWalker仪表板集成到Streamlit应用中,提供交互式数据分析体验。

Q & A

  • PyGWalker是什么?

    -PyGWalker是一个Python库,它允许用户将Pandas数据框转换成类似Tableau的界面,用于可视化分析。

  • 如何安装PyGWalker?

    -在命令提示符或终端中运行'pip install pygwalker'即可完成安装。

  • PyGWalker可以集成到哪些应用中?

    -PyGWalker可以集成到Jupyter Notebook或Streamlit应用中。

  • 演示中使用了哪个数据集?

    -演示中使用了名为'tips'的数据集,包含了账单总额、小费、性别、是否吸烟、访问日期和时间以及人数等信息。

  • 使用PyGWalker如何探索数据集?

    -通过调用'pyg.walk'函数并传入数据框来探索数据集,用户还可以选择使用深色或浅色模式。

  • PyGWalker如何自动标记数值?

    -PyGWalker会自动将数值标记为度量(measures),其余的标记为维度(dimensions)。

  • 在PyGWalker中如何创建图表?

    -用户可以通过拖放字段到x轴和y轴来创建图表,PyGWalker默认会为用户选择图表类型,但也可以选择其他类型的图表。

  • 如何在PyGWalker中过滤数据?

    -通过将列拖入过滤器字段来应用过滤,可以选择特定的值进行过滤,也可以移除过滤器来恢复数据。

  • PyGWalker支持哪些图表导出格式?

    -PyGWalker支持将图表导出为可缩放矢量图形(SVG)格式。

  • 如何将PyGWalker集成到Streamlit应用中?

    -通过读取配置文件并在Streamlit应用中使用'pyg.walk'函数,指定环境为'Streamlit',即可集成PyGWalker。

  • PyGWalker的导出功能有哪些用途?

    -用户可以导出图表、代码或配置文件,以便在其他环境中复现或分享分析结果。

  • 如何获取演示中提到的Streamlit应用和Jupyter Notebook?

    -这些资源将被上传到演讲者的GitHub仓库中,链接会在视频描述框中提供。

Outlines

00:00

🚀 介绍PyGWalker库

本段介绍了一个新的Python库PyGWalker,它允许用户将Pandas数据框转换成类似Tableau的用户界面,用于可视化分析。首先,用户需要通过命令提示符或终端安装PyGWalker库。安装后,可以与pandas一起导入。为了演示,加载了一个名为'tips'的数据集,并展示了数据集的内容。接着,通过调用'pyg.walk'函数并传入数据框,即可开始探索数据集。用户可以选择使用深色或浅色模式。执行后,用户将看到一个带有两标签页的画布。在数据标签页中,可以检查数据框和条目。PyGWalker会自动将数值标记为度量,其余标记为维度。在可视化标签页中,用户可以像在Tableau中一样,通过拖放字段到x轴和y轴来创建图表。默认情况下,PyGWalker会为用户选择图表类型,但用户也可以选择其他类型的图表。此外,用户可以通过拖放额外字段到y轴来探索数据,例如将小费添加到y轴,并查看平均账单金额。如果需要移除字段,只需将其拖回字段列表即可。同样,用户可以向x轴添加多个字段。为了探索吸烟者是否花费更多,并查看每天的午餐和晚餐时间的情况,可以使用颜色字段进行过滤。最后,介绍了如何导出图表,并展示了如何将PyGWalker集成到Jupyter Notebook和Streamlit应用程序中。

Mindmap

Keywords

💡PyGWalker

PyGWalker是一个Python库,它允许用户将Pandas数据框转换为类似Tableau的用户界面,以进行可视化分析。在视频中,PyGWalker被用来探索和分析'tips'数据集,提供了一个直观的拖放界面来创建图表和应用过滤器。

💡Pandas

Pandas是Python中用于数据处理和分析的流行库。它提供了数据结构,如DataFrame,用于存储和操作结构化数据。在视频中,Pandas与PyGWalker一起被导入,用于加载和准备数据以供可视化分析。

💡Jupyter Notebook

Jupyter Notebook是一个开源的Web应用程序,允许创建和共享包含实时代码、方程、可视化和叙述文本的文档。在视频中,Jupyter Notebook被用作一个平台,用户可以在其中安装PyGWalker,导入数据,并创建可视化界面。

💡Streamlit

Streamlit是一个Python库,用于快速创建和分享数据应用。它通过简化用户界面的创建过程,使得数据科学家和开发者能够快速构建交互式应用。在视频中,Streamlit被用来将PyGWalker集成到一个应用中,以便用户可以在应用中直接与数据进行交互。

💡数据集

数据集是指一组有组织的数据,通常是用于分析和统计的原始数据。在视频中,'tips'数据集被用作示例,包含了账单总额、小费、性别、是否吸烟、访问日期和时间以及人数等信息。

💡可视化

可视化是指将数据通过图形或图表的形式展现出来,以便于理解和分析数据。在视频中,通过PyGWalker库,用户可以将数据集转换为可视化图表,如条形图,并通过拖放的方式进行探索性数据分析。

💡拖放界面

拖放界面是一种用户交互方式,用户可以通过拖动和放置元素来操作软件。在视频中,PyGWalker提供了一个拖放界面,用户可以通过这种方式来创建和修改图表,无需编写代码。

💡过滤器

过滤器在数据分析中用于限制数据集的范围,只显示符合特定条件的数据。在视频中,通过将列拖放到过滤器字段,用户可以筛选出特定的数据子集,例如只显示男性顾客的数据。

💡图表类型

图表类型指的是数据可视化的不同形式,如条形图、折线图、饼图等。在视频中,PyGWalker允许用户根据分析需求选择不同的图表类型,例如从默认的图表类型切换到折线图。

💡导出

导出是指将数据或结果从软件中保存到文件或其他格式的过程。在视频中,用户可以将PyGWalker创建的图表导出为可缩放的矢量图形(SVG),或者将配置导出为JSON文件,以便在其他环境中复用。

💡配置文件

配置文件是一个包含了软件或应用程序设置和参数的文件。在视频中,PyGWalker允许用户将仪表板的设置保存为配置文件,这样用户可以在不同的环境或项目中重用这些设置。

💡探索性数据分析

探索性数据分析是数据分析的一个阶段,目的是通过可视化和其他技术来探索数据的特征,发现数据中的模式、异常或关系。在视频中,通过使用PyGWalker,用户可以进行探索性数据分析,直观地理解数据集的内容。

Highlights

介绍了一个名为PyGWalker的新型Python库,可以将Pandas数据框转换为类似Tableau的用户界面,用于可视化分析。

PyGWalker可以集成到Jupyter Notebook或Streamlit应用程序中。

安装PyGWalker只需在命令提示符或终端中运行'pip install pygwalker'。

导入PyGWalker和pandas库后,可使用'pyg.walk'函数探索数据集。

PyGWalker提供了暗模式和亮模式的选项。

PyGWalker自动将数值标记为度量,其余标记为维度。

用户可以通过拖放字段到x轴和y轴来创建图表,类似于Tableau。

PyGWalker默认为数据选择图表类型,但也支持其他图表类型,如折线图。

可以通过拖放额外字段到y轴来探索数据,例如添加小费到总账单金额的图表中。

可以通过拖放字段到字段列表中来移除字段。

可以使用颜色字段来应用过滤器,例如只显示男性顾客的数据。

PyGWalker是一个快速探索性数据分析的有趣工具。

支持导出图表为可缩放矢量图形(SVG)格式。

在Jupyter Notebook中可以添加额外的图表画布来进一步探索数据。

PyGWalker允许导出代码,方便用户复制和粘贴到新的单元格中。

可以导出设置为文件,如'config.json',以便在Streamlit应用中使用。

展示了如何在Streamlit应用中实现PyGWalker仪表板。

上传了Streamlit应用和Jupyter Notebook到GitHub仓库,链接在视频描述中提供。

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!

Rate This

5.0 / 5 (0 votes)

Связанные теги
PyGWalker数据可视化PandasJupyterStreamlit交互式分析图表导出代码导出数据探索快速分析
Вам нужно реферат на русском языке?