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】。文章转载请联系作者。
评论