1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 懂Excel也能轻松入门Python数据分析包pandas(二):高级筛选(上)

懂Excel也能轻松入门Python数据分析包pandas(二):高级筛选(上)

时间:2023-02-14 01:23:22

相关推荐

懂Excel也能轻松入门Python数据分析包pandas(二):高级筛选(上)

前言

经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 。

上一篇文章从 Excel 筛选为核心,介绍 pandas 中的实现,但是,Excel 中还有一个高级筛选的功能,普通的筛选与其对比,就只能算是"低级筛选"功能了。接下来,通过简单到复杂的需求,看看这是怎么样的一个功能。

数据

本文示例数据如下:

- 某学校的一份考试成绩表(8科成绩)- 人名已做脱敏处理

加载数据

pandas 需要加载 Excel 数据,非常容易,如下:

- 大部分参数上一篇文章已经有说明,这里说说重点

- 由于工作表中有多余的列数据,我们只需要前10列,因此指定 usecols 参数。

他接受一个列表。

list(range(0,10)),其实相当于[0,1,2…………,9]的一个列表

条件过滤

先来一个超级简单例子,来看看怎么操作 Excel 的高级筛选。

“姓名是 A1 的记录”,Excel 高级筛选操作步骤如下:

- 功能区 “数据” 页,在"筛选大图标" 右下有一个 “高级” ,点击出来高级筛选功能窗口- 主要看上图2的红框,选择我们的数据源区域,记得要包含标题- 上图2的蓝框是条件区域,条件区域的选择如图- 点击确定,即可筛选出姓名 A1 的记录

看看条件区域的设定:

- 格式为,标题+条件值(上下单元格)- 标题必须与数据源对应的列一致,比如这里指定姓名列,所以条件区域的标题也是"姓名"- 条件值我们使用 =“=A1”

> 如果只是指定文本值 A1 ,Excel 默认会把姓名前缀A1的记录筛选出来。

pandas 中没有啥高级筛选的说法,因为他的筛选本来就很灵活,看看 pandas 的实现:

- 简单易懂,都是之前文章介绍过的,这里不多说

特定值过滤

“4、5或7班的记录”,Excel 高级筛选的条件区域设置如下:

- 红框部分就是条件区域- 标题是"班级",这要与数据源保持一致- 条件值区域多行表示"或"关系,上图就是表示班级是4或5或7,任意一个符合的记录

pandas 实现如下:

- 同样使用 query 方法- in [4,5,6] ,语义清晰,班级是在列表中即符合

pandas 的 query 查询可以很灵活,可以接受外部的一个列表变量,如下:

- 查询字符串要使用外部变量,只需要写 “@+变量名字” 即可

范围过滤

“总分450至500之间的记录”,Excel 高级筛选的条件区域设置如下:

- 数据源没有总分列,添加一个 sum 公式的总分列 - 条件区域在同一行,表示"并且"关系- 条件值可以直接使用常用的比较符号- 还是要注意条件标题"总分"

pandas 实现如下:

- 第一句,添加新列,总和列。

pandas 新增列非常简单,df[新列名字]=新列值,即可

- df.loc[:,‘语文’:‘生物’] ,是获取语文到生物之间的列的数据

- .sum(axis=1) ,横向求和。

因为 pandas 可以灵活对行或列做运算,通过 axis 即可表达运算是对行还是列操作。

- 第二句即查询,通俗易懂

“语文高于90,或者,数学高于或等于100”,Excel 高级筛选的条件区域设置如下:

pandas 实现如下:

- query 中的查询字符串可以使用 python 中的逻辑关键字 and 或 or 这些都可以。

读者福利:如果大家对Python感兴趣,这套python学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。

二方面是可以根据这些资料规划好学习计划和方向。

朋友们如果有需要全套Python入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~

👉CSDN大礼包:《python入门&进阶学习资源包》免费分享

Python学习大礼包

Python入门到精通背记手册

Python安装包

Python爬虫秘籍

Python数据分析全套资源

Python实现办公自动化全套教程

Python面试集锦和简历模板

Python副业兼职路线

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓

CSDN大礼包:《python入门&进阶学习资源包》免费分享

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。