请选择 进入手机版 | 继续访问电脑版
查看: 166|回复: 0

[数据清洗] 厌倦了EXCEL想玩点新花样?教你利用Python做数据筛选(下)

[复制链接]

301

主题

301

帖子

1071

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1071
 楼主| 发表于 2021-9-28 02:10:27 | 显示全部楼层 |阅读模式
前言
  回顾一下上次的案例模型,我们知道了只要写3行代码,就可以利用python对EXCEL数据做简单的筛选,说明了python是一门非常简单和实用的数据分析工具。前面学过的这几句简单的语言,不知道你们学会了没?今天我们依旧是利用ETL+Python的搭配组合,对EXCEL数据进行深层次的加工,这一次我们要做的是高级筛选,请跟着我一起学习吧。

1.png

数据源
  我们还是用上次的那份电商订单明细表,数据已脱敏:

2.png

EXCEL筛选
  我们回顾一下上一篇文章里的数据需求,第一个是根据订单日期筛选2010年的订单,第二个是根据订单等级去筛选高级的订单,这一次我们把筛选条件进行升级,增加一个条件:在原先两个筛选条件的基础上,筛选出利润金额前10的订单。如果在EXCEL里操作的话,可以利用公式或者自身的筛选功能去实现,但是在python又是怎样实现的呢?

3.png

  我们可以在pycharm等软件上写python脚本去实现,但是我推荐大家用智分析的ETL功能去实现,智分析的ETL界面里也提供了python脚本的编写页面,并且很多简单的需求通过ETL就能实现,无需撰写复杂的代码,非常适合编程小白。

加载数据
  打开智分析里ETL界面,我们先连接好数据源,我已经提前把EXCEL文件导入到了智分析的系统里,然后把关系数据源拉拽到展示区里,并在右边找到数据源存放的路径:

4.png

  加载完成后,我们可以对数据源进行预览:

5.png

条件过滤
  当完成了数据连接后,接下来就可以利用智分析ETL里自带的python脚本对数据进行各种处理,我们先把python的组件拉拽到中间的展示区,并与上面的关系数据源进行相连:

6.png

  以下脚本是智分析自带的脚本,已经提前安装好了pandas和numpy的库,后面的函数也写好了一部分代码,只要根据以下脚本进行扩展,便可以在ETL上利用python进行数据清洗:

7.png

  在输入python脚本之前,我们再明确一下要实现的需求,其中前面两个条件是和上次一样的,我们无需进行改动,直接复制脚本过来即可,如果不懂的可以查看我前一篇文章。第三个条件需要做的是筛选利润额前10的订单,这里我们引用pandas中的sort_values函数进行排序,原理类似于SQL中的order by,可以将数据集依照某个字段中的数据进行排序,后面接ascending=False,即对数据进行降序排列head(10)代表的是取前10的值:

8.png

  我们看一下python脚本执行后的效果,年份这一列把2010年给筛选出来了,订单这一列筛选的是高级的订单,订单利润这一列的数据按照降序把前10的数据给筛选出来了:

9.png

数据输出
  完成python的筛选程序后,我们把执行筛选后的表格进行保存,可以选择保存在数据库中,也可以保存在数据集里,这里我依旧选择数据集的保存方式,因为方便在EXCEL里进行调用:

10.png

  回到EXCEL里,点击EXCEL插件里的“视图”,在右边会出现智分析的数据集面板界面,点击下拉菜单,便可以找到保存在云端的数据集,也可以直接输入文件名进行搜索:

11.png

  点击EXCEL工具栏上的“刷新”,数据集里的字段便会显示在EXCEL里,我们就可以利用这些数据在EXCEL里进行数据分析了:

12.png

下篇预告
  本文介绍了python的多条件筛选功能,下一篇将讲解如何对字段进行去重,敬请关注。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表