推荐2个十分好用的pandas数据探索分析神器
ztj100 2025-06-15 20:41 85 浏览 0 评论
作者: 俊欣
来源:关于数据分析与可视化
今天小编给大家推荐两款超好用的工具来对数据进行探索分析。更好地帮助数据分析师从数据集当中来挖掘出有用的信息
PandasGUI
一听到这个名字,大家想必就会知道这个工具是在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文件的导入与导出
同时这里还支持csv文件的导入与导出,让我们更加快捷的操作数据集
Jupyter当中的小插件
下面小编给大家介绍一个在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
相关推荐
- Linux集群自动化监控系统Zabbix集群搭建到实战
-
自动化监控系统...
- systemd是什么如何使用_systemd/system
-
systemd是什么如何使用简介Systemd是一个在现代Linux发行版中广泛使用的系统和服务管理器。它负责启动系统并管理系统中运行的服务和进程。使用管理服务systemd可以用来启动、停止、...
- Linux服务器日常巡检脚本分享_linux服务器监控脚本
-
Linux系统日常巡检脚本,巡检内容包含了,磁盘,...
- 7,MySQL管理员用户管理_mysql 管理员用户
-
一、首次设置密码1.初始化时设置(推荐)mysqld--initialize--user=mysql--datadir=/data/3306/data--basedir=/usr/local...
- Python数据库编程教程:第 1 章 数据库基础与 Python 连接入门
-
1.1数据库的核心概念在开始Python数据库编程之前,我们需要先理解几个核心概念。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它就像一个电子化的文件柜,能让我们高效...
- Linux自定义开机自启动服务脚本_linux添加开机自启动脚本
-
设置WGCloud开机自动启动服务init.d目录下新建脚本在/etc/rc.d/init.d新建启动脚本wgcloudstart.sh,内容如下...
- linux系统启动流程和服务管理,带你进去系统的世界
-
Linux启动流程Rhel6启动过程:开机自检bios-->MBR引导-->GRUB菜单-->加载内核-->init进程初始化Rhel7启动过程:开机自检BIOS-->M...
- CentOS7系统如何修改主机名_centos更改主机名称
-
请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1.前言本文将讲解CentOS7系统如何修改主机名。...
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
-
在Linux服务器管理中,SSH(SecureShell)是远程操作的核心工具。以下是SSH终端操作的常用命令和技巧,涵盖连接、文件操作、系统管理等场景:一、SSH连接服务器1.基本连接...
- Linux开机自启服务完全指南:3步搞定系统服务管理器配置
-
为什么需要配置开机自启?想象一下:电商服务器重启后,MySQL和Nginx没自动启动,整个网站瘫痪!这就是为什么开机自启是Linux运维的必备技能。自启服务能确保核心程序在系统启动时自动运行,避免人工...
- Kubernetes 高可用(HA)集群部署指南
-
Kubernetes高可用(HA)集群部署指南本指南涵盖从概念理解、架构选择,到kubeadm高可用部署、生产优化、监控备份和运维的全流程,适用于希望搭建稳定、生产级Kubernetes集群...
- Linux项目开发,你必须了解Systemd服务!
-
1.Systemd简介...
- Linux系统systemd服务管理工具使用技巧
-
简介:在Linux系统里,systemd就像是所有进程的“源头”,它可是系统中PID值为1的进程哟。systemd其实是一堆工具的组合,它的作用可不止是启动操作系统这么简单,像后台服务...
- Linux下NetworkManager和network的和平共处
-
简介我们在使用CentoOS系统时偶尔会遇到配置都正确但network启动不了的问题,这问题经常是由NetworkManager引起的,关闭NetworkManage并取消开机启动network就能正...
你 发表评论:
欢迎- 一周热门
-
-
MySQL中这14个小玩意,让人眼前一亮!
-
旗舰机新标杆 OPPO Find X2系列正式发布 售价5499元起
-
面试官:使用int类型做加减操作,是线程安全吗
-
C++编程知识:ToString()字符串转换你用正确了吗?
-
【Spring Boot】WebSocket 的 6 种集成方式
-
PyTorch 深度学习实战(26):多目标强化学习Multi-Objective RL
-
pytorch中的 scatter_()函数使用和详解
-
与 Java 17 相比,Java 21 究竟有多快?
-
基于TensorRT_LLM的大模型推理加速与OpenAI兼容服务优化
-
这一次,彻底搞懂Java并发包中的Atomic原子类
-
- 最近发表
-
- Linux集群自动化监控系统Zabbix集群搭建到实战
- systemd是什么如何使用_systemd/system
- Linux服务器日常巡检脚本分享_linux服务器监控脚本
- 7,MySQL管理员用户管理_mysql 管理员用户
- Python数据库编程教程:第 1 章 数据库基础与 Python 连接入门
- Linux自定义开机自启动服务脚本_linux添加开机自启动脚本
- linux系统启动流程和服务管理,带你进去系统的世界
- CentOS7系统如何修改主机名_centos更改主机名称
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
- Linux开机自启服务完全指南:3步搞定系统服务管理器配置
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)