赞
踩
作者 | 俊欣
来源 | 关于数据分析与可视化
今天小编给大家推荐两款超好用的工具来对数据进行探索分析。更好地帮助数据分析师从数据集当中来挖掘出有用的信息
一听到这个名字,大家想必就会知道这个工具是在Pandas
的基础之上加了GUI
界面,它所具备的主要功能有:
查看DataFrame数据集与Series数据集
交互式地绘制图表
过滤数据
统计分析
数据的修改与复制粘贴
拖放导入csv文件
搜索工具栏
当然在使用之前,我们先要安装好该工具
pip install pandasgui
然后我们导入该工具,并且用它来查看某个数据集,代码如下
- import pandas as pd
- from pandasgui import show
-
- df = pd.read_excel(
- io=r'supermarkt_sales.xlsx',
- engine="openpyxl", sheet_name="Sales",
- skiprows=3, usecols="B:R",
- nrows=1000
- )
-
- show(df)
运行上述的代码之后会弹出一个GUI
界面
我们先来看一下弹出的页面当中的布局,最左边是数据集的形状,比方说1000*17,具体看下图
数据过滤时候,我们需要填入相应的条件,主要是在中间这一列中输入,例如我们想要筛选出来的数据需要满足
省份:浙江
顾客类型:会员
性别:男性
以上这几个条件,我们可以这么来做,在filter
这一列当中依次输入筛选的条件,如下图
同时我们还可以修改当中的数据
以及将里面的数据复制/粘贴出来
在PandasGUI
这个工具当中,我们还能够对数据集进行统计分析,切换到Statistics
选项当中就能够看到
当中的统计变量有“平均值”、“最大/最小值”和“标准差”,包括每一个变量的数据类型也在当中有展示出来
我们还能够在上面绘制交互之图表,支持的图表类型有柱状图、散点图、折线图、饼图等等
例如柱状图,我们看到有x轴和y轴,我们只需要将相对应的列拖拽到x轴或者是y轴即可
在Reshaper
这个选项当中,我们可以将现有的数据集与其他的数据集合并,和pandas
当中的merge()
方法一样,同时我们也能制作透视表,和pandas
当中的pivot_table()
方法一样
当然我们还可以将以上的操作转换成代码的形式,通过点击Code Export
这个按钮
同时这里还支持csv文件的导入与导出,让我们更加快捷的操作数据集
下面小编给大家介绍一个在Jupyter
当中使用的小插件名叫ipympl
,能够使得matplotlib
绘制出来的图表也能够具备交互性的特征,当然在使用之前,我们先要安装上该插件
通过pip
来安装
pip install ipympl
也可以通过conda
来进行安装
conda install -c conda-forge ipympl
然后涉及到具体的使用,我们导入相关的模块
- %matplotlib widget
- import pandas as pd
- import matplotlib.pyplot as plt
我们使用常用的iris.csv
来进行图表的绘制
- plt.scatter('sepal_length(cm)', 'petal_width(cm)', data=iris)
- plt.xlabel('Sepal Length')
- plt.ylabel('Petal Width')
- plt.show()
output
从上面的结果来看,绘制出来的图表具备交互性,并且可以任意我们放大、缩小以及拖拽,并且可以将绘制好的图表下载到本地,而针对具有多个子图的图表,也能够实现交互式的绘制
- np.random.seed(0)
-
- n_bins = 20
- x = np.random.randn(1000, 3)
-
- fig, axes = plt.subplots(nrows=2, ncols=2)
- ax0, ax1, ax2, ax3 = axes.flatten()
-
- colors = ['red', 'blue', 'yellow']
- ax0.hist(x, n_bins, density=1, histtype='bar', color=colors, label=colors)
- ax0.legend(prop={'size': 10})
- ax0.set_title('bars with legend')
-
- ax1.hist(x, n_bins, density=1, histtype='bar', stacked=True, color=colors)
- ax1.set_title('stacked bar')
-
- ax2.hist(x, n_bins, histtype='step', stacked=True, fill=False)
- ax2.set_title('stack step (unfilled)')
-
- x_multi = [np.random.randn(n) for n in [10000, 5000, 2000]]
- ax3.hist(x_multi, n_bins, histtype='bar', color=colors)
- ax3.set_title('different sample sizes')
-
- fig.tight_layout()
- plt.show()

output
往
期
回
顾
福利
资讯
资讯
专访
分享
点收藏
点点赞
点在看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。