Python3 pandas(3)筛选数据isin(), str.contains()

筛选是我们在处理数据的时候非常常用的功能。下面是我们的一个简单DataFrame:

如果我们只需要‘B’列小于0的行:

当然>,<,==,>=,<=都是相同的道理。小心“等于”一定是用‘==’,如果用‘=’就不是判断大小了。

如果有多个条件,就用&将多个条件连接起来,每个条件用()括起来。

”&“是要求两个条件都要满足,是交集。

也可以“|”,只要满足一个条件都会被筛选出来,是并集。


当然筛选,可以和上一章的数据选取连起来用,让代码更简洁。选取多列一定是 两个 方括号哦,其中内侧方括号代表是一个list。


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

isin()括号里面应该是个list。

————————————————————————————————————————

2017.10.13添加

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

当然也可以用 ‘| ’进行多个条件筛选:

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

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

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

编辑于 2017-11-04 13:28

文章被以下专栏收录