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

cc1472a6d23ab8bf9dfbd967ba772b3c.gif

作者 |欣一

来源 |Python爱好者集中营

今天小编继续来给大家介绍一款用于做EDA(探索性数据分析)的利器,并且可以自动生成代码,帮助大家极大节省工作时间与提升工作效率的利器,叫做Bamboolib。

大家可以将其理解为是PandasGUI扩展工具,所具备的功能有

  • 查看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

会弹出如下所示的界面,

e1b05304f1abb8f8c1bf95589260a6cf.gif

我们先来简单介绍一下界面上的各个按钮,

  • Explore DataFrame:对数据集进行探索性分析的按钮

  • Create plot: 绘制交互性图表的按钮

  • Search Transformations:包含对数据集进行各项操作

  • Update: 过滤出指定的列

  • Export: 可以将处理完的数据集以及代码导出

我们点击Explore DataFrame按钮来对数据先来一个大致的印象

7b638e4cf1f2cea2a207c75eb91b2ed9.gif

我们看到会对数据集有一个大致的介绍,例如数据集是有1000行、18列,然后每一列的数据类型、每一列有多少的唯一值和缺失值我们都可以直观的看到

要是我们想要查看有着连续型变量的特征,它们之间的相关性,可以点击Correlation Matrix按钮

6e7275ef657be8ce78ef0b26da102999.gif

过滤数据

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

e90e99ca4627bb14ed3afdc817f4d9e0.gif

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

e4694f9fa83ded394cc6cec5b97e7187.gif

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

f50b6850a8aea91088efd044cc7d6a89.gif

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

35bc543f1f3db20bb873b3f7031e2104.gif

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

49c4f1772f7f82de75ed810200f08bdf.gif

数据的清洗与类型转换

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

25f71c25a9f4f12de957382bfebcb346.png

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

dac0f5f8b3bca82192d872520a811ec4.png

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

082f0edd46cd75e8c48a9a8b148515c6.png

数据的统计分析

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

c7df15c29e24260405193f4e9fcce29f.png

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

0b78ea56f9586170f0193a0e3e9140e9.png

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

7b157a897d53c35d0614aac96fd6a0f5.gif

合并数据集

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

0d712469a739bc859a82e3383a5de4c3.png

文本数据的操作

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

f143b05b16d3bfdf87e8a88fc9ee75aa.png

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

2036c0e1af3daea2c332133924a27a48.png

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

96b759064d551363406d18c5b4180948.png

绘制交互式的图表

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

87cc615a4bd73e6714e932206bf6caee.png

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

1caec60e9f273360092bb4cae2fdea0a.gif

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

1439006734010b03e1d660cd4cd943f1.gif

5d551e1dfec804e681ee2fdf6fef2172.png

资讯

OpenAI开放GPT-3微调功能

技术

LTSM实现多元素时序数据预测

技术

手写了个 Boss 来了的摸鱼神器

技术

从深度学习到深度森林方法

846bbd3da9d9f28acf9bdbeccfd1f64e.png

分享

81096d9d0580958011ee9f9b5d18fd12.png

点收藏

eab0a85e7991c4c6aa92704de497d852.png

点点赞

89ea22ff6ac536e32fb33a3aedc91f58.png

点在看

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值