pandas 获取不符合条件/不包含某个字符串的dataframe

2023-11-11

工作中数据的处理中往往会遇到筛选出不符合条件的或者不包含某个字符的dataframe,我们会如何去做呢?

可能你会想到用python写一个函数,然后用panda的apply函数或者map函数来进行处理,不可否认这是一中方法,但是实际上pandas中已经给我们开发了这样的函数,那我们为什么不直接调用呢?

首先看一下,怎么筛选出包含某些字符串的数据

#这是使用语法,模糊匹配
df[ df['通信名称'].str.contains('联通|移动|小灵通|电信')]

#这一种方法不是匹配,而是等于后面列表中的值,要注意区别
df[ df['通信名称'].isin(['联通','移动','小灵通','电信'])]

包含的字符串比较多时就用’|‘管道符隔开

那取出不包含这些字符串的数据怎么操纵呢,很简单,就是在前面加上一个~这种波浪符号就可以了

df[~ df['通信名称'].str.contains('联通|移动|小灵通|电信')]

没错就是这么简单的操作,但是contains也有一个不好的地方,就是如果某一列数据时文本型数据,处理起来就不是那么完美,因为contains函数类似于模糊查询,所以会出现错误匹配或者超出我们需要的匹配范围

问题又来了如果我们的条件是多个怎么办呢?

我们就需要这样来做

df[ df['通信名称'].str.contains('联通|移动|小灵通|电信') | df['通信备注'].str.contains('公告|活动|提示|优惠') ]
或者这样写
df[df["col1"].str.contains('this|that')==False and df["col2"].str.contains('foo|bar')==True]


当然,到哪里都离不开的正则表达式在这里也是可以用的

pattern=r'.*?'
df[df[columns].str.contains(pattern)]




这样你就可以根据自己的需求快乐的指定匹配原则了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pandas 获取不符合条件/不包含某个字符串的dataframe 的相关文章

  • 深入理解 relocating 对Elasticsearch集群的影响

    rebalance 用于将集群中的分片进行均衡 保持各个节点的分片数量大致相等 当集群扩容或缩容 掉一个节点的时候 这过程会自动完成 直观的感觉他应该是在后台默默干活的过程 最多占用带宽和磁盘 io 资源 应该感受不到他的存在 但实际情况是

随机推荐

  • 项目经理职责与权利

    项目经理有权按工程承包合同的规定 根据项目随时出现的人 财 物等资源变化情况进行指挥调度 对于施工组织设计和网络计划 也有权在保证总目标不变的前提下进行优化和调整 一 项目经理的权力 1 生产指挥权 项目经理有权按工程承包合同的规定 根据项
  • HAProxy--理论--03--配置文件中的关键字参考

    HAProxy 理论 03 配置文件中的关键字参考 1 balance balance balance url param check post 可用于 defaults listen 和 backend 定义负载均衡算法 用于在负载均衡场
  • 圆石重磅

    Datawhale干货 分享人 武卿 刘伟博士 人工智能的飞速发展 为未来增加了诸多不确定性 未来的世界更加不可预测 ChatGPT问世以来 在全球范围内掀起了一场科技革命 人工智能的飞速发展 为未来增加了诸多不确定性 未来的世界更加不可预
  • java 数组继承_关于对象的行为、数组、继承和类的高级概念(Java)

    1 对象的行为 1 方法调用栈 所有的方法调用都维护在一个称为调用栈的结构中 第一个被调用的方法就是main 该方法是Jvm调用的 因此main 方法总是在调用栈的底部 2 调用方法 一个方法被调用时该方法就放在调用栈的顶部 直到方法执行完
  • 一张图告诉你:今年上市的独角兽,股票表现都还好吗?

    西雅图IT圈 seattleit 今日作者 栗头蓝 一个充满着人文情怀的 web前端相声演员 2019年是独角兽公司上市的大年 定义独角兽公司的一条标准是 估值超过十亿美元的创业公司 截止到6月中旬 美国共有177家这样的独角兽 相比十年前
  • SSM项目中的Layui登陆

    该登陆的的具体结构如图下 在WEB INF jsp admin目录 下创建login jsp页面 写下所需要的登陆页面html代码 在com bdqn controller admin包下创建SystemController控制器层 写页面
  • java21天打卡 day10-字符串2

    字符串2 1 截取子字符串 1 取从第三个字符开始到最后 2 取第二到第四个字符 2 分割字符串 public class Day10 public static void main String args 字符串2 1 截取子字符串 1
  • websocket协议简介

    概念介绍 单工通信 数据传输只允许在一个方向上传输 只能一方发送数据 另一方接收数据并发送 半双工 数据传输允许两个方向上的传输 但在同一时间内 只可以有一方发送或接收数据 全双工 同时可进行双向数据传输 websocket介绍 WebSo
  • 微信小程序java登录授权解密获取unionId(填坑)

    官方流程图 第一步 获取code 说明 小程序调用wx login 获取 临时登录凭证code 并回传到开发者服务器 开发者服务器以code换取 用户唯一标识openid 和 会话密钥session key 之后开发者服务器可以根据用户标识
  • 数据科学与大数据分析项目练习-2使用R进行K-means聚类分析

    使用R进行K means聚类分析 使用Rstudio读取grades km input csv并进行练习 yearly sales csv包含620条数据 包含4种变量 student English Math 和 Science 首先还是
  • 目标检测之Generalized Focal Loss介绍

    Generalized Focal Loss介绍 论文地址 https arxiv org abs 2006 04388 mmdetection已经实现了GFL 简单的说是继承的onestage loss改成作者提出的qfl dfl 正负样
  • DELL服务器R230 RIAD1创建

    DELL服务器R230 RIAD1创建 服务器开机后 按Ctrl R键 进入配置RIAD 第一步 删除虚拟硬盘中的硬盘 可以看到Virtual Disk中显示的2个硬盘都是1 8T的 但前面1和2都是Non RAID 说明这两块硬盘没有进行
  • java异步编程

    java异步调用 定义 Java异步调用是指在调用某个方法时 不需要等待该方法执行完毕才能继续执行下面的代码 而是通过多线程或回调函数等方式 让该方法在后台执行 同时允许程序继续执行下面的代码 这种方式可以提高程序的并发性和响应速度 特别是
  • 【翻译】Attention Is All You Need

    Attention Is All You Need 注意力是你所需要的一切 论文地址 https proceedings neurips cc paper 2017 file 3f5ee243547dee91fbd053c1c4a845aa
  • x86汇编指令学习

    ltr 使用方法 ltr ax 意义 将寄存器ax中的值加载到任务寄存器 TR 中 jnz 和 jne jnz or jne 是指令测试之后的条件跳转 jnz 如果Zero flag ZF 被清零 它将跳转到指定位置 jnz 通常用于显示测
  • Python 程序设计与算法基础教程(第二版)第八章上机实践

    第八章上机实践部分参考答案 2 求阶乘 3 Fibonacci 斐波那契 数列 4 利用可变参数定义求任意个数数值的最小值的函数min n a b c 5 利用元组作为函数的返回值 求最大值 最小值和元素个数 函数后缀带D为递归哦 2 求阶
  • opencv 识别图片和视频中的人脸

    识别图片中的人脸 import cv2 加载图像并创建一个人脸识别的级联分类器 image cv2 imread test jpeg face cascade cv2 CascadeClassifier D pyTest venv Lib
  • wireshark常见提示错误

    TCP dup ack 重复应答 TCP dup ack XXX X 表示第几次重新请求某一个包 XXX表示第几个包 不是Seq X表示第几次请求 丢包或者乱序的情况下 会出现该标志 RST ACK 重置 一般问题不大 TCP Retran
  • 关键词爬取图片(Python)

    废话不多说 直接上代码 测试了好几遍 确认管用才发出来 import requests import os import re headers User Agent Mozilla 5 0 Windows NT 10 0 WOW64 App
  • pandas 获取不符合条件/不包含某个字符串的dataframe

    工作中数据的处理中往往会遇到筛选出不符合条件的或者不包含某个字符的dataframe 我们会如何去做呢 可能你会想到用python写一个函数 然后用panda的apply函数或者map函数来进行处理 不可否认这是一中方法 但是实际上pand