字符串操作|学习笔记

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

开发者学堂课程【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 当中对于字符串的一些操作,对于字符串操作还是有蛮多的,感兴趣的话可以去看一下。

相关文章
|
4天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
15天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1312 5
|
2天前
|
监控 JavaScript Java
基于大模型技术的反欺诈知识问答系统
随着互联网与金融科技发展,网络欺诈频发,构建高效反欺诈平台成为迫切需求。本文基于Java、Vue.js、Spring Boot与MySQL技术,设计实现集欺诈识别、宣传教育、用户互动于一体的反欺诈系统,提升公众防范意识,助力企业合规与用户权益保护。
|
14天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1354 87
|
2天前
|
JavaScript Java 大数据
基于JavaWeb的销售管理系统设计系统
本系统基于Java、MySQL、Spring Boot与Vue.js技术,构建高效、可扩展的销售管理平台,实现客户、订单、数据可视化等全流程自动化管理,提升企业运营效率与决策能力。
|
3天前
|
弹性计算 安全 数据安全/隐私保护
2025年阿里云域名备案流程(新手图文详细流程)
本文图文详解阿里云账号注册、服务器租赁、域名购买及备案全流程,涵盖企业实名认证、信息模板创建、域名备案提交与管局审核等关键步骤,助您快速完成网站上线前的准备工作。
192 82
2025年阿里云域名备案流程(新手图文详细流程)