Pandas 数据表格删除符合条件的行的方法

大家都知道我们的数据表格组件使用的是 Pandas 库,很多同学也用过数据过滤的功能,可以通过 isin、isnull、match、startswith 等方法过滤出想要的数据,这两天有同学来问怎么去删除掉符合条件的行。。。。。遗憾的发现 pandas 并没有 isnotin 的这种方法 😂

找了个办法,对于不是非常大的数据量可行,数据量很大的情况下不知道效率如何
如下图为例,在通过 pandas 读出的 dataframe 中删除“产品代码”这一列中中包含“wj”的行
Pandas 数据表格删除符合条件的行的方法

#原理就是循环筛选,发现有符合条件的行就使用pandas的drop方法删掉
import pandas as pd

#data是读取表格组件返回值传进来的参数
def drop_df(data):
    for index,row in data.iterrows():
        if 'wj' in row['产品代码']:
            #axix=0代表删除行,=1代表删除列
	    #inplace=True表示原数据集对应的内存值直接改变,默认为False
            data.drop(index,axis=0,inplace=True)
    print(data)
    return data

运行结果如下,大功告成!
Pandas 数据表格删除符合条件的行的方法

个人感觉这个方法比较傻 😂,还未找到 pandas 直接过滤删除的方法,如果有知道的高人欢迎留言