前言
经常听别人说 Python 数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas 。
Excel 自带筛选功能,可以对表格中进行各种条件筛选。今天我们就用 pandas 看看怎么做到 Excel 的筛选功能,并且看看 Excel 也做不到的功能。
数据
本文示例数据如下:
加载数据
pandas 需要加载 Excel 数据,非常容易,如下:
按位置过滤
Excel 的筛选只能根据列值进行操作,因此我们在表格添加一序号列。看图:
接着试试,"显示第3至6行",如下:
看看 pandas 中如何做到,如下:
按值过滤
位置过滤太简单了,很少场景使用。这次看看"显示所有男性"记录。
Excel 不介绍了,看看 pandas 怎么完成:
多条件也不在话下,"显示男性并且血型是A+",如下:
当然,有更加简单的写法,如下:
指定多个值也很简单,"血型是A+或B-",如下:
模式匹配
太简单了?来个复杂一点的。
"血型值首字母是A"的记录。Excel 中的筛选也是强大的,直接有此功能。如下:
pandas 对应操作如下:
当然,pandas 中的文本处理功能比 Excel 强大得多,来看看。
"住址内容包含 天津市 3字"的记录。如下:
什么,Excel也可以?来看看下面这个需求就不寻常了。
"住址内容有 x座 ,x是字母a至c,大小写都算",看看 pandas 怎么做:
值范围
"收入在5000至8000的男性",pandas 如下:
简单吧。Excel 上操作也简单,不再展示。
再看看这个需求。
"出生在 1980至1990 之间的男性"
冰山一角
Excel 的筛选功能无疑是强大的,不过 pandas 也很厉害。想必有抬杠的小伙伴会说,既然 Excel 自带功能都有,用 pandas 干啥?当然是自动化啦。并且 pandas 中有许多功能,在 Excel 中需要用复杂的函数公式或 Vba 才能实现。
下期看看 Excel 的高级筛选功能,在 pandas 中是如何实现。