字符串操作|学习笔记

简介: 快速学习字符串操作

开发者学堂课程【Python 常用数据科学库:字符串操作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/546/detail/7492


字符串操作

内容介绍

一、大小写转换

二、计算字符串长度

三、去空格操作

四、数据替代

五、数据切分


一、大小写转换

1、关于 pandas 怎样处理字符串,这相对来说都是稍微简单的一些操作。首先把panda 导进来,构造一个 Serie s结构, 在 Series 结构中,指定一些字符串,A b B然后还有一些

字符值 gear AGER ,还可以指定 np.nan 值

import pandas as pd

import numpy as

s = pd.Series(['A‘,’b’,’B' ,’gaer’, AGER",np.nan])

s

执行一下,这就是当前的一个 series 串,

image.png

2、对于当前这个串来说,如果想对里面的数据进行操作,就在 series 当中把 str 调进来,str 里有一个 lower,可以进行大小写转换,s.str.lower(),转换完的结果所有大写字母都变成了小写字母,这是最基本一点,先可以进行字符串的转换,然后可以转换小写,如果转换大写把 lower 转换成 upper 就可以了。


二、计算字符串长度

1、统计每个串分别有多长,算它的len值,也可以当成是一个特征,s. str. len() 相当于计算了一下当前串的长度是多大的。


三、去空格操作

1、定位了 index 的索引, index 里传进来一堆数据,tang、yu、di

index = pd.Index ([‘  tang’,’   yu   ‘,’di’])

index

这就是当前的 index 值

2、然后打印一下 Index([‘  tang’,’   yu   ‘,’di’], dtype=’object’) 中间带一个空格,如果要把空格去掉,把 str 调进来,然后去调 strip,Index.str.strip  执行一下就没有空格了。不光可以全去掉,也可以只去掉左边的空格,代码是Index.str.ltrip  ,只去掉右面的代码是  Index.str.rstrip。去左去右或者全去掉都是可以的,主要是看自己的需求。


四、数据替代

1、构造一个 df,然后构造一个 Data Frame,在 Data Frame 当中写上当前的一个数据。比如说随便传进来一个三行二列的数,然后指定一个列名 A,B,再写一个索引index,需要三个数,直接写数字3

df = pd. DataFrame(np.random.randn(3.2), columns = ['A’,'B'].index = range(3))

Df

执行一下

image.png

这就是当前的 Data Frame 值。

2、如果要去改变一些值,比如说在索引里多加两个字母 ab,原来的索引就变成了 A a  B  b,这个列名看起来比较奇怪,要把列名改一下,把 Data Frame 调进来,可以把列名换一下,换一下列名就叫字符串操作,字符串当中可以执行的是 replace 的操作,replace 里面把空格给它换成一个下杠

df.columns =df.columns.str.replace(’ ‘ , ‘_’)

执行这样一个操作,原来是A a  B b,现在就变成 A_a  B_b,这个就是说可以执行一些操作,执行完之后,结果也会发生一些变化,可以进行值的替代。


五、数据切分

1、不只有替代,还得有切分,s 等于 pandas 点 Series,里面随便传进来一些值,第一个是 a_ b_C,第二个值是 c_d_e,di第三个值 f_g_ h,执行这是一个 Series 结构,接下来可以调 s 在 str 当中的操作,这个操作就是 split, s.str.spilt(_) 可以把它进行一个切分,比如说原来的数据_表示这两个字段连在一起了,现在要把两个字段给分开,切分完变成一个像 list 的结构。

2、之前是这么定义的 a_ b_C 中 a 是一个字段,b 是一个字段,C 又是一个字段,切完之后希望得到的是一个新的字段,

在 s.str.spilt(‘_’) 里面加进来一个参数,就是以什么为分割,然后加上 expand 扩充一下,让它等于一个 True 值,s.str.spilt(‘_’ , expand = True)

执行一下结果多了三个列,第一个数据 abc,第二个是 cde,第三个 fgh,也就是数据都切分开了。

3、切分的时候还可以加上一些限制,再加一个 n 值等于1,s.str.spilt(‘_’ , expand = True,n=1) 相对来说就是这里面 a 它是一个 bc 连在一起了,其他两列也是一样的,相当于做了一个限制,n=2 是又会得另外一个结果,n=1 相当于是只能切分一次,后面是一个整体,n=2 相当于相当于是切分了两次。

4、在这个字符串当中,还可以进行一个包含的判断。比如说 s 等于 pandas 点Series,里面的数据还是随便写几个

s = pd.Series(['A’,‘Aas’,‘Afgew', ’Ager‘,’ Agre','Ager'])

s

s 长这个样子

image.png

接下来可以用 s 点 str,然后去进行一个判断,看它是不是包含当前的某一个元素,比如说看它是不是包含 Aas,     s.str.contains(‘Aas’) 一回车就能得到结果 ,第一个元素没有第二个元素有,第三个元素没有,第四个元素没有。直接写个 A,结果都是 True,因为它里面都包含 A,写 Ag 会出现好几个 True,相当于是可以执行这样一个判断,判断完之后它就会给返回,当前在这个 series 当中,它判断一下里面是不是有这样包含的操作。

5、构造一个 Series,在这个 Series 中构造一些特别的,a,a|b,a|c,这是当前这个数据,有几个值被下杠分开了。要把这个东西切分开看一看,一共有多少个可能性。这个时候调 s 的串结构,它里面有 get_dummies,dummies 之后还可以单独来拿出来说一说,这个东西还是比较有用的,在 dummies 里面指定一个分割符,分割符是参数,

s.str. get_dummies(sep =’|’) 执行一下,这样 abc 就被切分出来了,可以通过 get_dummies 把值拿出来,这个就是 pandas 当中对于字符串的一些操作,对于字符串操作还是有蛮多的,感兴趣的话可以去看一下。

相关文章
|
13天前
|
存储 弹性计算 人工智能
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
2025年9月24日,阿里云弹性计算团队多位产品、技术专家及服务器团队技术专家共同在【2025云栖大会】现场带来了《通用计算产品发布与行业实践》的专场论坛,本论坛聚焦弹性计算多款通用算力产品发布。同时,ECS云服务器安全能力、资源售卖模式、计算AI助手等用户体验关键环节也宣布升级,让用云更简单、更智能。海尔三翼鸟云服务负责人刘建锋先生作为特邀嘉宾,莅临现场分享了关于阿里云ECS g9i推动AIoT平台的场景落地实践。
【2025云栖精华内容】 打造持续领先,全球覆盖的澎湃算力底座——通用计算产品发布与行业实践专场回顾
|
4天前
|
云安全 人工智能 安全
Dify平台集成阿里云AI安全护栏,构建AI Runtime安全防线
阿里云 AI 安全护栏加入Dify平台,打造可信赖的 AI
|
11天前
|
人工智能 自然语言处理 自动驾驶
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
关于举办首届全国大学生“启真问智”人工智能模型&智能体大赛决赛的通知
|
7天前
|
人工智能 运维 Java
Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台
Spring AI Alibaba Admin 正式发布!一站式实现 Prompt 管理、动态热更新、评测集构建、自动化评估与全链路可观测,助力企业高效构建可信赖的 AI Agent 应用。开源共建,现已上线!
711 23
|
6天前
|
人工智能 Java Nacos
基于 Spring AI Alibaba + Nacos 的分布式 Multi-Agent 构建指南
本文将针对 Spring AI Alibaba + Nacos 的分布式多智能体构建方案展开介绍,同时结合 Demo 说明快速开发方法与实际效果。
452 39
|
12天前
|
编解码 自然语言处理 文字识别
Qwen3-VL再添丁!4B/8B Dense模型开源,更轻量,仍强大
凌晨,Qwen3-VL系列再添新成员——Dense架构的Qwen3-VL-8B、Qwen3-VL-4B 模型,本地部署友好,并完整保留了Qwen3-VL的全部表现,评测指标表现优秀。
734 7
Qwen3-VL再添丁!4B/8B Dense模型开源,更轻量,仍强大