安利一个超好用的 Pandas 数据挖掘分析神器

作者 |欣一
来源 |Python爱好者集中营
今天小编继续来给大家介绍一款用于做EDA(探索性数据分析)的利器,并且可以自动生成代码,帮助大家极大节省工作时间与提升工作效率的利器,叫做Bamboolib。
大家可以将其理解为是Pandas的GUI扩展工具,所具备的功能有
查看DataFrame数据集与Series数据集
过滤数据
数据的统计分析
绘制交互式图表
文本数据的操作
数据清洗与类型转换
合并数据集
安装模块
在使用之前,我们先需要通过pip install进行该模块的安装
pip install bamboolib同时因为我们要在Jupyter Notebook以及JupyterLab上面用到该工具,因此还要安装额外的插件
# Jupyter Notebook extensions
python -m bamboolib install_nbextensions# JupyterLab extensions
python -m bamboolib install_labextensions查看DataFrame数据集
在上面的步骤全都完成之后,我们开始简单的来尝试使用一下bamboolib,导入我们需要用到的模块
import bamboolib as bam
import pandas as pd读取数据
df = pd.read_excel(io="supermarkt_sales.xlsx",engine="openpyxl",sheet_name="Sales",skiprows=3,usecols="B:R",nrows=1000,
)df会弹出如下所示的界面,

我们先来简单介绍一下界面上的各个按钮,
Explore DataFrame:对数据集进行探索性分析的按钮
Create plot: 绘制交互性图表的按钮
Search Transformations:包含对数据集进行各项操作
Update: 过滤出指定的列
Export: 可以将处理完的数据集以及代码导出
我们点击Explore DataFrame按钮来对数据先来一个大致的印象

我们看到会对数据集有一个大致的介绍,例如数据集是有1000行、18列,然后每一列的数据类型、每一列有多少的唯一值和缺失值我们都可以直观的看到
要是我们想要查看有着连续型变量的特征,它们之间的相关性,可以点击Correlation Matrix按钮

过滤数据
要是我们想要指定某一列数据的话,点击下拉框,选中select or drop columns,

或者我们想要删掉某一列的话,也是相类似的操作

当然我们如果想要根据特定的条件来过滤出某些数据的话,则是选中filter rows按钮,然后我们给出特定的条件,在Bamboolib模块当中有多种方式来过滤数据,有has values、contains、startswith、endswith等等,类似于Pandas模块当中对于文本数据处理的方法,例如我们想要挑选出“省份”这一列当中的“浙江省”的数据,就这么来做

我们还能够对每行的数据进行排列,点击下拉框选中sort rows,例如我们以“毛利率”的大小来排序,并且是降序排序,就这么来做

要是我们想要对某一列的列名进行重命名,点击rename columns

数据的清洗与类型转换
我们能够改变数据集当中某一列的数据类型,点击选中change column data dtype

对于缺失值的情况,我们既可以选择去除掉这些缺失值,点击选中drop missing values或者是drop columns with missing values

当然可以将这些缺失值替代为其他特定的值,无论是平均值或者是众数等等,点击选中find and replace missing values

数据的统计分析
我们可以通过bamboolib模块来对数据进行统计分析,例如计算数值的变化(percent change),我们在下拉框中找到percent change的选项,然后对指定的列计算当中数值的变化百分比

我们还能够进行累乘/累加的操作,我们在下拉框中选中cumulative product或者是cumulative sum

另外我们还能进行分组统计的计算操作,选中下拉框当中的group by and aggregate按钮,例如我们以“省份”来分组,计算“总收入”的平均值,可以这么来操作

合并数据集
要是我们想要进行合并数据集的操作,在下拉框选中join/merge dataframes选项,当中有四种合并的方式,分别是inner join、left join、right join和outer join,然后我们选择合并的

文本数据的操作
我们还能对数据集当中的文本数据进行各种操作,包括对英文字母大小写的转换,就用convert to lowercase/convert to uppercase

如果我们需要对字符串当中的空格做一个处理,我们在下拉框当中选中Remove leading and trailing whitespaces

而要是我们需要对字符串做一个分割,就在下拉框中选中split text column

绘制交互式的图表
我们同时还能够通过该模块来绘制交互式的图表,我们点击“create plot”按钮,我们能看到在图表类型当中有直方图、柱状图、折线图、饼图等十来种,我们来绘制当中的一种

我们在X轴上指定的是“省份”的数据,然后根据不同的商品类型配上不同的颜色,而从绘制出来的结果中能够看到来自“北京”的顾客“食品饮料”购买的比较多,而来“浙江”的顾客“服装服饰”购买的比较多

当然除了直方图之外,还有其他很多种图表可以通过该模块来绘制,这里由于篇幅有限,小编就不一一给大家演示。


往
期
回
顾
资讯
OpenAI开放GPT-3微调功能
技术
LTSM实现多元素时序数据预测
技术
手写了个 Boss 来了的摸鱼神器
技术
从深度学习到深度森林方法

分享

点收藏

点点赞

点在看
相关文章:

PHP魔术常量
PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。 有七个魔术常量它们的值随着它们在代码中的位置改变而改变。例如 _…

vim 打开Linux下文件每一行后面都有^M的样式
由于服务器不是我一个人在操作,在修改apache配置文件时发现了一个很奇怪的问题,vim编辑打开配置文件发现后面都有一个^M的标记 虽然不会影响服务的运行,但总感觉不对劲,所以在此我尝试用替换的方式来设置它 :%s/\^M//g 虽然也成功…

所有类是object的子类,但是又可以继承一个其他类解析
所有类的祖宗是object,所有类只能有一个父亲。Java的单继承指的是一个类不能有多个父亲,而C就能有好多父亲。举个例子:如果A 没有继承任何类,那他的类层次关系默认是 A -- Object如果A 继承了类B,那他的类层次关系变为…

Smarty中文手册,Smarty教程,Smarty模板的入门教材
Smarty中文手册,Smarty教程,Smarty模板的入门教材首先,这份Smarty中文手册的翻译工作是由喜悦国际村村民自发组织的,不代表任何人的意见和观点。对他们的无私奉献精神,我们表示感谢,他们为Smarty模板的普及作出了重大的贡献&#…

380万播放量,也许是全网最火的机器学习视频
“秋名山上行人稀,常有车手较高低。如今无人车当道,全是 AI 老司机。”且问 AI 老司机表现如何?可灵活转弯,控速自如:可行云流水,沿最优路线过弯:更可多次打圈,绕多少下也不在话下&a…

《SQL Server 管理与维护指南》章节目录
http://www.mssqlmct.cn/?post2转载于:https://blog.51cto.com/mssqlmct/1677763

Java并发之synchronized
synchronized关键字最主要有以下3种应用方式 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁;实例锁,一个实例一把锁 修饰静态方法,作用于当前类对象加锁,进入同步代码前要获得当前类对…

java 产生的固体物的基础上 增删改的SQL声明
经过多次修改。最后版本。package com.power.sql;import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.util.List; import java.util.Vector;import org.apache.commons.lang3.reflect.FieldUtils; /*** author Gary Huang* 博客地址:…

顺络新能源汽车技术研讨会圆满落幕
2021年12月11日,由深圳顺络电子股份有限公司主办、中国传感器与物联网产业联盟和大湾区新能源汽车产业技术创新联盟协办的新能源汽车技术研讨会在深圳汉普斯酒店隆重召开,广汽研究院智能网联中心总师廖磊先生、比亚迪汽车工程研究院副总工程师顾建军先生…

电信的 DNS 服务器地址
上海电信 202.96.209.5202.96.209.6202.96.209.133202.96.209.134

系统利益相关者描述案例
利益相关者 主要目标 态度 主要关注点 约束条件 厅长 监督河北省创新事业的发展 强烈支持积极推动河北省科技创新平台的建立,促进河北省科技创新事业的发展 如何优化管理,如何保证推动创新发展事业工作的高效性 无 平台主任(院长…

CentOS6怎么样设置ADSL上网
首先安装好CentOS6以后要安装rp-pppoe这个软件,centos之前的版本所adsl-setup这个命令安装,到centos6改了。 需要光驱内放好CentOS安装盘 挂载光盘 #mount /dev/cdrom /media 找出文件路径 # find /media -name rp-pppoe* 这个文件没有依赖项,…

小冰数字孪生主播正式上线 全球首创全流程无人化AI直播
12月20日,小冰公司公布全新的数字孪生虚拟人技术,并联合每日经济新闻,将首批应用该技术的虚拟主持人,与“每经AI电视”一同正式上线。与其他技术相比,小冰框架不仅将虚拟人的整体自然度提升至与真人难以分辨的程度&…

二分搜索 POJ 2456 Aggressive cows
题目传送门 1 /*2 二分搜索:搜索安排最近牛的距离不小于d 3 */4 #include <cstdio>5 #include <algorithm>6 #include <cmath>7 using namespace std;8 9 const int MAXN 1e5 10; 10 const int INF 0x3f3f3f3f; 11 int x[MAXN]; 12 int n,…

路由策略与策略路由的区别。
这两中方案都是为了控制网络流量的可达性或调整网络流量的路径: 一、路由策略。(Route-Policy)路由策略是通过修改路由表的路由条目来控制数据流量的可达性。即对接受和发布的路由进过滤。这种方式称为路由策略。 二、策略路由。(…

Python 刷英语六级段落匹配仅需 3 秒?
作者 | 叶庭云来源 | AI庭云君一、前言 一年二度的四六级考试就此落下帷幕,本次考试体验感极强,反手就是一个 "五星好评"本文利用 Python 的模糊匹配方法来刷英语六级段落匹配,仅需要3秒!Python的 FuzzyWuzzy 库&#x…

在自己的网站添加关注新浪关注按钮
有2种方法 第一种是参照新浪开发平台的API 地址如下: http://open.weibo.com/widget/followbutton.php 第二种是在html页面引入一段js <iframe allowtransparency"" border"0" frameborder"0" height"22" marginheight…

pandas中DataFrame的ix,loc,iloc索引方式的异同
pandas中DataFrame的ix,loc,iloc索引方式的异同 1、loc: 按照标签索引,范围包括start和end 2、iloc: 在位置上进行索引,不包括end 3、ix: 先在index上索引,索引不到就在index的位置上进行索引(如果index非全…

Linux crontab 命令格式
基本格式 :* * * * * command分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示第2列表示小时1~23(0表示0点)第3列表示日期1~31第4列表示月份1~12第5列标识号星期0&#x…

5分钟学会打游戏的活体人脑细胞,比 AI 学习速度更快
整理 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 在人工智能研究领域,最有前景的途径之一是尝试让软件模拟人脑的工作方式。 在两年前就有媒体报道称,澳大利亚生物科技初创公司 Cortical Labs 正致力于把真正的生物神经元嵌入到…

如何进行屏幕录制?
为什么80%的码农都做不了架构师?>>> 推荐的软件 屏幕录像专家选择avi输出,编码选择x264或者xvid total video converter将 avi格式转为mp4 优酷客户端也可以将 avi格式转为mp4。 狸窝全能视频转换器也可以将 avi格式转为mp4。 我使用格式工厂…

如何用ABAP代码读取CDS view association的数据
我有如下一个CDS view, 这个view的数据来自CRMD_ORDERADM_H, 定义了一个名称为_statushelp的association, 指向了另一个CDS view Z_C_Status_Valuehelp.该view暴露了两个字段STATUS_KEY和STATUS_TEXT. 现在我的需求是:在ABAP代码里只需要一次读操作,既能…

linux Crontab 使用
cron用法说明cron的用法老是记不住,索性写下来备忘。下文内容大部分是根据《Cron Help Guide》翻译而来,有些部分是自己加上的。全文如下:cron来源于希腊单词chronos(意为“时间”),是linux系统下一个自动执…

iOS开发之圆角指定
如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架)。而若要指定某几个角(小于4)为圆角而别的不变时,这种方法就不好用了。…

网友抱怨:「苹果除了每年收我的钱,似乎什么都不想做」
整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)一直以来,苹果的开发者账号都贵得众所周知。不仅每年都要续费,一年费用甚至比微软和 Google 开发者账号的一次性收费还高:微软 MicroSoft Developer 账号&#x…

PHP最简单写文件记日志当前时间
定义和用法 fopen() 函数打开文件或者 URL。 如果打开失败,本函数返回 FALSE。 语法 fopen(filename,mode,include_path,context)参数描述filename必需。规定要打开的文件或 URL。mode必需。规定要求到该文件/流的访问类型。可能的值见下表。include_path可选。如果…

【MySQL笔记】mysql来源安装/配置步骤和支持中国gbk/gb2312编码配置
不久的学习笔记。分享。我想有很大的帮助谁刚开始学习其他人的 备注:该票据于mysql-5.1.73版本号例如 1. mysql源代码编译/安装步骤 1) 官网下载mysql源代码并解压 2) cd至源代码文件夹。运行 ./configure --prefix/home/slvher/tools/mysql-5.1.73 --with-charset…

预告|开源操作系统年度技术会议
本次会议的主会场设在麒麟软件(北京),由于疫情原因,为尽量减少讲师和参会人员因疫情带来的出行不便,我们同时在北京、上海和深圳设置三个线下交流的分会场。 有部分讲师和圈内大咖将会在三个分会场与大家面对面交流&a…

“智享未来 知行合一”,开为科技AI产品发布会于2月6日召开
届时,开为科技将展示系列装有自研人脸识别算法的人工智能硬件产品,包括人证比对一体机、人脸识别双面闸机、人脸访客广告机等。 过去一年,人工智能的新闻铺天盖地,发展速度之快让人目不暇接,各大巨头纷纷布局…

linux下history(历史)命令用法详解
如果你经常使用 Linux 命令行,那么使用 history(历史)命令可以有效地提升你的效率。本文将通过实例的方式向你介绍 history 命令的15个用法。1. 使用 HISTTIMEFORMAT 显示时间戳当你从命令行执行 history 命令后,通常只会显示已执…