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

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图1

    DataFrame列表

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

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图2

    选择quantity>25的所有行

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图3

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

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

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

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图4

    使用一般方式

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图5

    使用loc函数

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

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图6

    使用isin函数筛选

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图7

    使用loc函数筛选

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

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图8

    使用str.contains函数筛选

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图9

    直接使用loc函数筛选

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

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图10

    筛选包含某一字符的行

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图11

    筛选包含某一字符的行

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图12

    多条件筛选

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

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

    pandas的数据筛选之isin和str.contains函数 - 黄金国的大象 - 博客园 - 图13

    str函数的作用

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

    作者:探索数据之美
    链接:https://www.jianshu.com/p/805f20ac6e06