pandas中,对某列应用正则表达式

news/2024/11/19 10:46:32/文章来源:https://www.cnblogs.com/xinyangq/p/18554389

1.str.contains(),类似re.search(),检查是否包含特定字符串

import pandas as pd# 示例数据
data = {'col1': ['apple', 'banana', 'cherry', 'pineapple', 'grape']}
df = pd.DataFrame(data)# 查找包含字母 'a' 的行
pattern = r'a'
df['contains_a'] = df['col1'].str.contains(pattern)print(df)col1  contains_a
0      apple        True
1     banana        True
2     cherry       False
3  pineapple        True
4      grape        True

2.str.match(),类似re.match(),检查是否以特定字符串开始

import pandas as pd# 示例数据
data = {'col1': ['apple', 'banana', 'cherry', 'pineapple', 'grape']}
df = pd.DataFrame(data)# 完全匹配以 'a' 开头的行
pattern = r'^a'  # 匹配以 'a' 开头的字符串
df['starts_with_a'] = df['col1'].str.match(pattern)print(df)col1  starts_with_a
0      apple            True
1     banana           False
2     cherry           False
3  pineapple           False
4      grape           False

3.str.replace(),类似re.sub(),查找特定字符串,并替换

import pandas as pd# 示例数据
data = {'col1': ['apple', 'banana', 'cherry', 'pineapple', 'grape']}
df = pd.DataFrame(data)# 替换 'a' 为 '@'
df['replaced'] = df['col1'].str.replace(r'a', '@', regex=True)print(df)col1     replaced
0      apple      @pple
1     banana     b@n@n@
2     cherry     cherry
3  pineapple  pine@pple
4      grape      gr@pe

4.str.extract(),类似match.groups(),查找特定字符串,并提取出来

import pandas as pd# 示例数据
data = {'col1': ['apple123', 'banana456', 'cherry789', 'pineapple000', 'grape987']}
df = pd.DataFrame(data)# 提取数字部分
pattern = r'(\d+)'  # 匹配数字
df['numbers'] = df['col1'].str.extract(pattern)print(df)col1 numbers
0    apple123     123
1   banana456     456
2   cherry789     789
3  pineapple000   000
4    grape987     987

5.str.findall(),类似re.findall(),查找所有匹配的字符串,返回列表

import pandas as pd# 示例数据
data = {'col1': ['apple123', 'banana456', 'cherry789', 'pineapple000', 'grape987']}
df = pd.DataFrame(data)# 查找所有数字
pattern = r'(\d+)'  # 匹配数字
df['all_numbers'] = df['col1'].str.findall(pattern)print(df)col1   all_numbers
0    apple123         [123]
1   banana456         [456]
2   cherry789         [789]
3  pineapple000     [000]
4    grape987         [987]

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/836691.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

你想了解的DDS协议解决方案在这里

作为OPEN联盟的活跃成员与AUTOSAR联盟的高级合作伙伴,经纬恒润致力于为国内外各大OEMs及供应商,提供全面覆盖TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS、MQTT,以及10M、Multi-G等一系列关键技术领域的设计与测试咨询服务。 随着汽车电子电气架构快速演进,车企对车内网络…

VL4AD:让语义分割认识未知类别,无需额外数据和训练的OOD语义分割 | ECCV24

来源:晓飞的算法工程笔记 公众号,转载请注明出处论文: VL4AD: Vision-Language Models Improve Pixel-wise Anomaly Detection论文地址:https://arxiv.org/abs/2409.17330创新性提出VL4AD模型用于解决语义分割网络难以检测来自未知语义类别的异常的问题,避免额外的数据收集…

20222327 2024-2025-1 《网络与系统攻防技术》实验五实验报告

一、实验内容 网络攻击需要搜集的信息包括: 攻击对象的名称和域名;目标网络位置,如IP地址、DNS服务器、外部网络拓扑结构;现实世界中的对应物,如注册信息、电话号段、网络或安全管理员及联系方式、地理位置等;网络地图,包括活跃主机IP、操作系统类型、开放的端口与运行的…

小鸟科技携手纷享销客,共谱CRM国产化替代新篇章

小鸟科技(DigiBird)成立于2009年,是一家专注于全球专业视听领域,为客户提供数字化解决方案的国家高新技术企业。小鸟科技先后在北京、上海、广州、成都、西安、沈阳、济南、南京等多地设立分公司或服务网点,并拥有北京、郑州、南京三大研发团队,成功以自主品牌进入国际市…

LeetCode 2769[找出最大的可达成数字]

LeetCode 2769[找出最大的可达成数字]题目 链接 LeetCode 2769[找出最大的可达成数字] 详情实例提示题解 思路 每一步操作可同时操作 num 和 x ,可同时增加或者减少,若使 num 为最小值,每一步增加 1 个,同时 x 减少一个,则此时的 x 即为最大值 num 减少同时 x 增加,则操作…

王爽汇编笔记(第三版)

1. 测试环境 1.1 DosBox 简介:模拟dos环境的一个软件 下载地址:https://www.dosbox.com/download.php?main=1安装步骤:下一步...... 问题1: debug 不是内部或外部命令,也不是可运行的程序或批处理文件。 debug : 无法将“debug”项识别为 cmdlet、函数、脚本文件或可运行程…

VLC多媒体播放器 合并字幕srt文件和mp4文件 方法

转载自: 链接:https://blog.csdn.net/sdkdlwk/article/details/143867825 作者:sdkdlwk步骤: 1. 将视频和字幕放到同一个文件夹,并保证二者名字相同。 选择菜单"媒体"->"流"或者ctrl+s点"添加"选择视频文件,注意这里不要选择下面的使用…

聊聊springboot项目中使用jackson的一些小技巧

前言 在我们前后端联调时,很经常以json作为数据的交互格式,今天我们就来聊聊在开发springboot项目中,使用jackson进行数据渲染一些小技巧 场景一:枚举-JSON互转 在日常开发中我们为了避免过多的魔法值,使用枚举类来封装一些静态的状态代码。 但是在将这些枚举的意思正确而…

存储快照原理

快照有COW(Copy On Write,写时复制)和ROW(Redirect On Write,写重定向)两种实现方式。 1 .COW COW(Copy-On-Write),写时拷贝,也称为写前拷贝。 创建快照,如果源卷的数据发生了变化,快照系统会将原始数据拷贝到快照卷上的数据块中,然后再对源卷进行改写; OW快照在初…

树分治全家桶

树分治全家桶 树,(是一种益于保护环境植物)是图论当中的一种特殊图,由于(绿化环境的作用非常优秀)特殊性质丰富,经常出现在我们身边。 本文将主要介绍(如何植树)一种树上优美的暴力——树分治。 树分治 树分治可以将部分暴力降至 \(O(\log n)\) 至 \(O(\log^2 n)\) 级…

模拟计算hash前面N个0需要的时间

写了一个python代码用来模拟计算当hash前面有N个0时需要多长时间。 代码如下: import hashlib import time from datetime import timedelta from plyer import notificationdef find_hash_with_prefix_zeros(prefix_length=6):# 初始字符串base_text = "Hello, World!&q…