推荐 2个十分好用的 pandas 数据探索分析神器!
作者 | 俊欣
来源 | 关于数据分析与可视化
今天小编给大家推荐两款超好用的工具来对数据进行探索分析。更好地帮助数据分析师从数据集当中来挖掘出有用的信息
PandasGUI
一听到这个名字,大家想必就会知道这个工具是在Pandas
的基础之上加了GUI
界面,它所具备的主要功能有:
查看DataFrame数据集与Series数据集
交互式地绘制图表
过滤数据
统计分析
数据的修改与复制粘贴
拖放导入csv文件
搜索工具栏
当然在使用之前,我们先要安装好该工具
pip install pandasgui
然后我们导入该工具,并且用它来查看某个数据集,代码如下
import pandas as pd
from pandasgui import showdf = 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
往
期
回
顾
福利
小白入门机器学习的三个问题
资讯
Meta新语音模型可支持128种语言交流
资讯
全球首个活体机器人,能生娃
专访
低代码平台产品的使用者都是谁?
分享
点收藏
点点赞
点在看
相关文章:

DoubleViewPager
https://github.com/eltld/DoubleViewPager https://github.com/eltld/DoubleViewPagerSample

OCQ亮相中国移动办公峰会 荣获2017中国移动办公创新品牌
11月21日至23日,由中国软件网主办的“新格局 再出发——企服三会”在北京中关村软件园国际会议中心隆重举行!国内市场上移动办公、CRM、HR三大领域的主流企业参加会议,百位业界专家学者汇聚一堂,交流经验,碰撞思维,对三…

typedef和define具体的详细区别
1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如: #define PI 3.1415926 程序中的:areaPI*r…

IOS初级:NSKeyedArchiver
NSKeyedArchiver对象归档 首先要实现<NScoding>里面的两个代理方法initWithCoder,encodeWithCoder property (nonatomic, copy) NSString *keyName; /*将某个对象写入文件时候会调用在这个方法中说清楚哪些属性需要存储*/ - (void)encodeWithCoder:(NSCoder *)encoder{[e…

「摸鱼」神器来了,Python 实现人脸监测制作神器
作者 | 李秋键 出品 | AI科技大本营(ID:rgznai100) 最近都在讨论工作摸鱼,网易云音乐也出了合理摸鱼时间表,今天给大家推荐如何用python实现摸鱼~码住呦! 引言:脸部表情是人类情绪的最直接外部表现之一和进…

初学Java——选择
1.boolean数据类型 1)取值为true/false 2)关系操作符的运算结果是boolean类型(6种关系运算符同C语言)2.分支语句 1)单分支if 2)双分支if-else 3)多分支if-else(此编码风格可避免深度缩进) if(){ } else if(){ } else if(){ } …

C语言宏定义使用技巧
写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性等等。下面列举一些成熟软件中常用得宏定义。。。。。。1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//…

java显示本地磁盘所有盘符,显示桌面路径
import java.io.File; import javax.swing.filechooser.FileSystemView;/** 显示本地磁盘根盘符,显示桌面路径 */ public class RDDemo {static File[] files;public static void main(String[] args) {FileSystemView sys FileSystemView.getFileSystemView();fil…

Twitter 禁止未经用户同意分享照片和视频
整理 | 禾木木 出品 | AI科技大本营(ID:rgznai100) Twitter 宣布将扩大私人信息政策,包括在未经个人许可的情况下共享的私人媒体,例如照片和视频,因为该社交媒体平台旨在改善用户隐私和安全。 “分享个人媒体ÿ…

这就是我向您推荐使用Thunderbird邮件客户端的理由
E-MAIL服务是最古老的互联网服务之一,相信很多人都在使用,只不过频率不同。IM出现后的(及时通信工具)一段时间,E-MAIL的通信不及时性估计让很多人交流会更倾向于IM。但是电子邮件(E-MAIL)仍然是…

ATT汇编语言与GCC内嵌汇编简介
AT&T汇编语言与GCC内嵌汇编简介1 AT&T 与INTEL的汇编语言语法的区别1.1大小写1.2操作数赋值方向1.3前缀1.4间接寻址语法1.5后缀1.6指令2 GCC内嵌汇编2.1简介2.2内嵌汇编举例2.3语法2.3.1汇编语句模板2.3.2输出部分2.3.3输入部分2.3.4限制字符2.3.5破坏描述部分2.4GCC如…

递归和迭代之间的差
递归的基本概念:编程技巧程序调用自身递归调用,是一个函数,调用自身. 在一个函数的定义直接或间接调用自己的方法,它通常是一个大的,复杂的问题分解成一个需要解决的问题类似于原来小问题,它可以大大减少的代码量.使用递归的能力是有限的语句来定义对象的…

智能交通:影响人类未来10-40年的重大变革
作者 | 百度创始人、董事长兼CEO李彦宏 《智能交通:影响人类未来10—40年的重大变革》,是我写的第三本关于人工智能的书。第一本是2017年编写的《智能革命:迎接人工智能时代的社会、经济与文化变革》,第二本是2020年编写的《智能…

Python--日志模块
# 时间 哪个文件里面的 第几行代码import loggingfrom logging import handlers# logging.debug(debug级别,最低级别,一般开发人员用来打印一些调试信息)# logging.info(info级别,正常输出信息,一般用来打印一些正常的操作)# logg…

Linux动态库(.so)搜索路径
众所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件…

redis-3.0.2集群部署
Redis 集群安装集群搭建步骤1、创建多个节点.2、为每个节点指派槽,并将多个节点连接起来,组成一个集群.3、当集群数据库的16384个槽都有节点在处理时,集群进入上线状态.要求:搭建一个包含6个节点的Redis集群,其中三个主…

联邦学习应用思考:需求还是方法?
作者 | 徐葳 清华大学交叉信息研究院长聘副教授、华控清交首席科学家前言:目前,“联邦学习”这个术语在市场上存在很多认识上的误解和混淆,主要原因是其既在广义上表达了保护数据前提下联合多方数据训练模型的需求,又在狭义上表示…

monkey如何获取app包名
别人学习网址:http://www.51testing.com/html/58/15092658-2984032.html 使用aapt aapt是sdk自带的一个工具,在sdk\builds-tools\目录下, 1. 在cmd中,切换至sdk\builds-tools\目录下,即aapt.exe目录下2.以QQ音乐为例…

嵌入式Web服务器移植
第一步 Boa程序的移植1、下载Boa源码下载地址: http://www.boa.org/, 或者http://sourceforge.net最新发行版本: 0.94.13下载 boa-0.94.13.tar.gz,注意:从boa上下载的是boa-0.94.13.tar.tar,解压方式一样解压ÿ…

一文详解 RNN 及股票预测实战(Python)!
作者 | 泳鱼来源 | 算法进阶循环神经网络(RNN)是基于序列数据(如语言、语音、时间序列)的递归性质而设计的,是一种反馈类型的神经网络,其结构包含环和自重复,因此被称为“循环”。它专门用于处理…

symfony2 Process 组件的学习笔记
2019独角兽企业重金招聘Python工程师标准>>> 安装 composer require "symfony/process:2.7.1" ##描述 process组件是可以开启一个子进程 去执行一个命令 ##例子 use Symfony\Component\Process\Process; $process new Process(ls -lsa); $process->ru…

C++模式学习------策略模式
当遇到同一个对象有不同的行为,方法,为管理这些方法可使用策略模式。 策略模式就是对算法进行包装,是把使用算法的责任和算法本身分割开来。通常把一个系列的算法包装到一系列的策略类里面,这些类继承一个抽象的策略类。使用这些算…

自动生成Makefile的全过程详解
automake/autoconf入门作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了…

Meta 开移动端 AI 生成神器 PyTorch Live,打造人工智能驱动的移动体验
整理 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 近日,PyTorch 开发者大会如期召开。在会上,Meta 发布了PyTorch Live,这是一套可以为移动端用户提供人工智能体验的工具。PyTorch Live 支持单一的编程语言JavaScript…

在NewLisp中实现匿名函数的递归
2019独角兽企业重金招聘Python工程师标准>>> 匿名函数在很多语言中的表现形式大概如下: (lambda (n)(* ( n 1) (- n 1))) 只有参数列表和函数体,而没有名字。在大部分情况下没问题,但是一旦需要用到递归的话,就有点麻烦…

C# Obsolete(已弃用方法属性)
class Realization : Interface{/// <summary>/// 已弃用的方法,Obsolete第二个参数设置为true,调用此方法会产生警告并引起编译器报错/// </summary>/// <param name"skey">参数</param>/// <returns></returns>[Ob…

如何训练2457亿参数量的中文巨量模型“源1.0”
如何训练2457亿参数量的中文巨量模型“源1.0” 浪潮人工智能研究院 从2018年的BERT到2020年的GPT-3,NLP语言模型经历了爆发式的发展过程,其中BERT模型的参数量为3.4亿,而GPT-3的模型参数量达到了1750亿。2021年9月,浪潮人工智能…

Linux驱动程序编写
工作需要写了我们公司一块网卡的Linux驱动程序。经历一个从无到有的过程,深感技术交流的重要。Linux作为挑战微 软垄断的强有力武器,日益受到大家的喜爱。真希望她能在中国迅速成长。把程序文档贴出来,希望和大家探讨Linux技术和应用…

PHP+socket+SMTP、POP3协议发送、接收邮件
1、实现SMTP协议的类dsmtp.cls.php:<?php//通过socket实现SMTP协议的功能//version: 1.1//author : DCC//create : 2014-01-17 23:38:24//modify : 2014-01-18 16:59:04//more : http://www.thinkful.cn/archives/389.htmlclass Dmail_smtp{var $socket;var $…

JavaScript学习记录 (三) 函数和对象
1.函数使用 function 关键字来声明函数函数的命名规则和变量一样JS没有函数签名,所以没有函数重载JS函数中的所有参数都是值传递;不能通过引用传递// 定义函数 function test(arg) {return arg 10; } // 定义一个同名函数 function test(arg, arg1) {re…