2000字精华总结,安利一个超好用的Pandas数据挖掘分析神器

俊红的数据分析之路

共 2938字,需浏览 6分钟

 ·

2024-04-11 07:12

今天给大家介绍一款用于做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

会弹出如下所示的界面,

3378198bb6759483b257e5247bc2495a.webp

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

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

74317bcaf2a690092c152e963c889727.webp

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

d07e9fc4ae585e506ba6fffbe861f24b.webp

过滤数据

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

a003d5b70a9b222df2c547196725b72e.webp

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

c92cf20c8230114d08189a1b358f49af.webp

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

d4841975afd487195fff08f37fa68a8d.webp

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

ed1cb9b545828f63c1c1c50b75786d76.webp

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

87ec806b666222a17e8cf1800ba893ac.webp

数据的清洗与类型转换

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

72ec27cd980d09d33bf75f703fb8496d.webp

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

c7614c7b0c5c6aac843e29373b9a34d4.webp

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

ae99881eee4b14c985f45167cc1305c4.webp

数据的统计分析

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

1e0df0dd93ba04f0fc87e493602eed90.webp

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

1100fef3ac38e144972ade13e1fb6316.webp

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

c8fec4dc447e9acf6dc858fe4f0fea97.webp

合并数据集

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

78e8e484a95efecb05b527b669a88666.webp

文本数据的操作

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

4b27294be56210bdc897f793b368ceec.webp

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

f6a3fb50dc2718abc94014dd86cc93ef.webp

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

b2f94f99e6b9b61fff5332a2ce5918a0.webp

绘制交互式的图表

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

a25b64d4d70b95c816b8913072be0da6.webp

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

f465275ecf12723a4e44fbe072cd7975.webp

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

--End--

f9e1640bf9223455b7d583cf24982ded.webp

想要优惠买书的同学可以看:优惠买书渠道

浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报