news 2026/6/6 13:33:08

series 最常用的str 方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
series 最常用的str 方法

结合硅钢工艺场景(比如处理 “原料批次号”“缺陷描述” 等字符串字段),整理pandas 中series最常用的 10 个 str 方法,每个方法配「代码示例 + 工艺场景说明」,直接复制可用:

一、核心 str 方法(按使用频率排序)

1.str.contains():判断字符串是否包含指定内容(最常用)

功能:筛选包含目标字符的行(支持正则)工艺场景:从缺陷描述中筛选含 “氧化”“裂纹” 的记录,返回布尔索引。

import pandas as pd # 模拟数据:硅钢生产记录 df = pd.DataFrame({ "原料批次": ["SG2024-056", "SG2024-078", "SG2025-012", "DT2024-033"], "缺陷描述": ["表面氧化皮严重", "边部裂纹", "无明显缺陷", "夹杂+轻微氧化"] }) # 筛选缺陷描述中含“氧化”的记录 oxidation_defects = df[df["缺陷描述"].str.contains("氧化")] print("含氧化缺陷的记录:") print(oxidation_defects)
2.str.split():按分隔符拆分字符串[参数:expand]

功能:将字符串拆分为列表,可扩展为多列工艺场景:拆分 “原料批次号”(如 “SG2024-056” 拆分为 “SG”“2024”“056”)

# 拆分原料批次号(按“-”拆分) df["批次拆分"] = df["原料批次"].str.split("-") # 拆分为列表 df[["前缀", "年份", "序号"]] = df["原料批次"].str.split("-", expand=True) # 扩展为多列 print("\n拆分后的批次数据:") print(df[["原料批次", "前缀", "年份", "序号"]])
3.str.strip()/str.lstrip()/str.rstrip():去除空白字符

功能:去除字符串前后 / 左侧 / 右侧的空格、换行符等工艺场景:清理手工录入的缺陷描述(避免多余空格影响统计)

# 模拟带空格的缺陷描述 df["缺陷描述_带空格"] = [" 表面氧化皮 ", "\n边部裂纹 ", "无明显缺陷\n"] # 去除前后空格和换行符 df["缺陷描述_清理后"] = df["缺陷描述_带空格"].str.strip() print("\n清理前后对比:") print(df[["缺陷描述_带空格", "缺陷描述_清理后"]])
4.str.replace('旧内容','新内容'):替换字符串中的内容【regex默认为true】

功能:替换指定字符(支持正则)工艺场景:统一缺陷描述格式(如 “氧化”“氧化皮” 统一为 “氧化类缺陷”)

使用|做正则匹配时,需要regex=true

# 将“氧化”“氧化皮”统一替换为“氧化类缺陷” df["缺陷描述_统一"] = df["缺陷描述"].str.replace("氧化|氧化皮", "氧化类缺陷", regex=True) print("\n统一后的缺陷描述:") print(df[["缺陷描述", "缺陷描述_统一"]])
批量替换用Series.replace(字典)
单值替换用str.replace(pat, repl)
cleaned_data["Country"] = cleaned_data["Country"].replace({ "USA": "United States", "UK": "United Kingdom", "U.K.": "United Kingdom" }) # 正则批量替换 cleaned_data["Country"] = cleaned_data["Country"].replace( {r"UK|U\.K\.": "United Kingdom"}, regex=True )
5.str.upper()/str.lower()/str.title():大小写转换

功能:转换字符串大小写(中文无效果,适用于英文字段)工艺场景:统一英文批次前缀(如 “sg”“SG” 统一为大写)

# 统一前缀为大写 df["前缀_大写"] = df["前缀"].str.upper() print("\n前缀大写转换:") print(df[["前缀", "前缀_大写"]])
6.str.len():计算字符串长度

功能:返回每个字符串的字符数工艺场景:筛选过长的缺陷描述(可能是录入错误)

# 计算缺陷描述的长度 df["描述长度"] = df["缺陷描述"].str.len() # 筛选长度>8的描述(可能是录入冗余) long_descriptions = df[df["描述长度"] > 8] print("\n过长的缺陷描述:") print(long_descriptions[["缺陷描述", "描述长度"]])
7.str.startswith()/str.endswith():判断开头 / 结尾字符

功能:判断字符串是否以指定字符开头 / 结尾工艺场景:筛选特定年份的批次(如 2024 年的批次,以 “2024” 开头)

# 筛选2024年的原料批次(年份字段以“2024”开头) 2024_batches = df[df["年份"].str.startswith("2024")] print("\n2024年的原料批次:") print(2024_batches["原料批次"])
8.str.join()用分隔符拼接序列里所有元素为字符串

功能:可迭代:列表、元组、字符串、生成器所有元素必须全是 str

# 1.逗号分隔列表 lst = ["a","b","c"] res = ",".join(lst) print(res) # a,b,c # 2.空字符拼接=直接连起来 "".join(["1","2","3"]) # '123' #3.字符串迭代 "-".join("abc") # 'a-b-c'
9.str.cat():拼接字符串

功能:将多列字符串拼接为一列工艺场景:将 “前缀 + 年份 + 序号” 拼接为完整批次号

# 拼接“前缀+年份+序号”为完整批次号 df["拼接批次号"] = df["前缀"].str.cat([df["年份"], df["序号"]], sep="-") print("\n拼接后的批次号:") print(df[["前缀", "年份", "序号", "拼接批次号"]])
10.str.slice():参数和 Python 原生字符串切片完全一致,只是批量作用于 Series 每一行。

Series.str.slice(start, stop, step)

str.slice()的参数可省略,等价于原生切片:

简化写法等价原生切片含义
str.slice(0, 3)s[0:3]前 3 个字符
str.slice(-3)s[-3:]后 3 个字符
str.slice(1, -1)s[1:-1]去掉第一个和最后一个字符
str.slice(step=2)s[::2]步长 2 取所有字符

补充:Pandas 支持更简洁的str[]写法(等价于slice),

比如df['code'].str[0:1]等价于df['code'].str.slice(0,1)

日常使用中str[]更简洁,但slice()语义更清晰(尤其步长复杂时)。

二、核心总结

  • 最常用 Top3:str.contains()(筛选)、str.split()(拆分)、str.replace()(替换),覆盖 80% 工艺场景。
  • 正则搭配:str.extract()(提取)、str.contains()(模糊匹配)支持正则,处理复杂字符串(如批次号、缺陷描述)超实用。

三、tips

1、字符串反转 str[::-1]

s = "abc123" res = s[::-1] print(res) # '321cba'
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/6 13:32:31

Kubernetes Job / CronJob · 10 个企业级实例【20260606】001篇

文章目录 一、先看一张总览表(选型速查) 二、10 个企业级实例详解 实例 1:数据库定时全量备份(MySQL / PostgreSQL) What Why How(核心示例) 交付物 企业级运维 实例 2:离线数据计算 / ETL(Spark / Python Job) What Why How 交付物 运维 实例 3:证书自动续期(Ingr…

作者头像 李华
网站建设 2026/6/6 13:32:06

3步掌握SRWE:游戏窗口分辨率自由控制的终极指南

3步掌握SRWE:游戏窗口分辨率自由控制的终极指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 还在为游戏内置分辨率选项太少而烦恼吗?想要在窗口模式下获得全屏游戏的沉浸体验&#xf…

作者头像 李华
网站建设 2026/6/6 13:31:59

工业控制系统安全:利用现成工具的攻击与PLC内生防护实战

1. 项目概述:当“现成工具”成为工业网络的“隐形钥匙”在工业自动化领域干了十几年,我见过太多工厂的工程师们把全部精力都放在确保PLC逻辑正确、电机转速稳定、阀门开关准时上,却往往对控制柜里那根不起眼的网线另一端的世界知之甚少。大家…

作者头像 李华
网站建设 2026/6/6 13:31:30

Himalaya实战教程:5分钟内将HTML转换为结构化JSON数据

Himalaya实战教程:5分钟内将HTML转换为结构化JSON数据 【免费下载链接】himalaya JavaScript HTML to JSON Parser 项目地址: https://gitcode.com/gh_mirrors/him/himalaya Himalaya是一款强大的JavaScript HTML to JSON Parser工具,能够帮助开发…

作者头像 李华
网站建设 2026/6/6 13:29:26

5款VLC皮肤:彻底改变你的播放器视觉体验

5款VLC皮肤:彻底改变你的播放器视觉体验 【免费下载链接】VeLoCity-Skin-for-VLC Castom skin for VLC Player 项目地址: https://gitcode.com/gh_mirrors/ve/VeLoCity-Skin-for-VLC VeLoCity-Skin-for-VLC是一款专为VLC播放器设计的定制皮肤项目&#xff0c…

作者头像 李华