Pandas 教程 -4-DataFrame 数据筛选(中)
Pandas 系列_DataFrame 数据筛选(中)
Pandas 中筛选数据的方法真的是五花八门,在上一篇文章中已经介绍了很多常见的取数操作,本文中重点介绍:
表达式取数
query、evel
filter
where、mask

扩展阅读
关于 pandas 的连载文章,请阅读:
模拟数据
下面是完全模拟的一份数据,包含:姓名、性别、年龄、数学、语文、总分、地址共 7 个字段信息。

下面开始详细介绍 6 种取数方法:
表达式取数
query()取数
eval()取数
filter()取数
where/mask 取数
表达式取数
表达式取数指的是通过表达式来指定一个或者多个筛选条件来取数。
1、指定一个数学表达式

2、取反操作
取反操作是通过符号~来实现的

3、指定某个属性的值为具体的数据

4、不等式表达式

5、逻辑运算符

query()函数
使用说明

⚠️在使用的时候需要注意的是:如果我们列属性中存在空格,我们需要使用反引号将其括起来再进行使用。
使用案例
1、使用数值型表达式





2、使用字符型表达式



3、传入变量;变量在使用的时候需要在前面加上 @


eval()函数
eval 函数的使用方法和 query 函数是相同的
1、使用数值型表达式



2、字符型表达式

3、使用变量

filter 函数
我们使用 filter 可以对列名或者行名进行筛选,使用方法:
直接指定
正则指定
模糊指定
其中 axis=1 指定列名;axis=0 指定索引
使用说明

使用案例
1、直接指定属性名

直接指定行索引

2、通过正则指定




3、模糊指定



where 和 mask 函数
where 和 mask 函数是一对相反的函数,取出来的结果刚好是相反的:
where:取出满足要求的数据,不满足的显示为 NaN
mask:取出不满足要求的数据,满足的显示为 NaN
两种方法都可以将将 NaN 值设置我们指定的数据
where 使用


我们可以给不满足要求的数据进行赋值:

看看两组结果的对比:

where 函数还可以指定多个条件:

选出我们想要的数据:

mask 函数
mask 函数获取到的结果和 where 是相反的


mask 函数接受多个条件:

总结
Pandas 中取数的方法真的五花八门,太多技巧可以获取到我们想要的数据,有时候不同的方式也可以得到相同的数据。本文中着重介绍的通过表达式和 5 个函数来取数,下篇文章中将会重点讲解 3 对函数筛选数据的方法。
版权声明: 本文为 InfoQ 作者【皮大大】的原创文章。
原文链接:【http://xie.infoq.cn/article/d9078dddfc21ce7159cab0628】。文章转载请联系作者。
评论