pandas 的数据筛选之 isin 和 str.contains 函数

筛选是在平时的工作中使用非常频繁的功能,介绍了 loc 和 iloc 的筛选方法,现在继续介绍一些筛选的方法。

pandas 的数据筛选之 isin 和 str.contains 函数

DataFrame 列表

以 >,<,==,>=,<= 来进行选择(“等于”一定是用‘==’,如果用‘=’就不是判断大小了):

pandas 的数据筛选之 isin 和 str.contains 函数

选择 quantity>25 的所有行

pandas 的数据筛选之 isin 和 str.contains 函数

选择数量大于 20 或单价大于 100 的所有行

使用 &(且) 和 |(或) 时每个条件都要用小括号括起来。

选取多列一定是两个方括号,其中内侧方括号代表是一个 list:

pandas 的数据筛选之 isin 和 str.contains 函数

使用一般方式

pandas 的数据筛选之 isin 和 str.contains 函数

使用 loc 函数

如果要选择某列等于多个数值或者字符串时,要用到.isin(), 我们把 df 修改了一下(isin() 括号里面应该是个 list):

pandas 的数据筛选之 isin 和 str.contains 函数

使用 isin 函数筛选

pandas 的数据筛选之 isin 和 str.contains 函数

使用 loc 函数筛选

平时使用最多的筛选应该是字符串的模糊筛选,在 SQL 语句里用的是 like,在 pandas 里我们可以用.str.contains() 来实现。

pandas 的数据筛选之 isin 和 str.contains 函数

使用 str.contains 函数筛选

pandas 的数据筛选之 isin 和 str.contains 函数

直接使用 loc 函数筛选

也可以使用  ‘|’  来进行多个条件的筛选:

pandas 的数据筛选之 isin 和 str.contains 函数

筛选包含某一字符的行

pandas 的数据筛选之 isin 和 str.contains 函数

筛选包含某一字符的行

pandas 的数据筛选之 isin 和 str.contains 函数

多条件筛选

注意,这个‘|’是在引号内的,而不是将两个字符串分别引起来。’&‘在这里不能用。

如果中间的.str 不用的话,就会出错,提示‘Series’数组没有‘contains’函数。

pandas 的数据筛选之 isin 和 str.contains 函数

str 函数的作用

其实.str 的作用就是将’Series‘转换为类似 Strings 的结构,然后就可以用 contains 函数了。

作者:让数据告诉你
链接:https://www.jianshu.com/p/805f20ac6e06
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。