Series字符串处理方法--Pandas

本文详细介绍了Pandas库中Series类型的数据字符串处理方法,包括统计元素如count(),len(),内容判断如contains(),endswith(),startswith(),match(),字符串替换replace(),以及拼接join(),cat()等操作。这些方法在数据清洗和预处理中极为常用。
摘要由CSDN通过智能技术生成

字符串处理只能在Series上进行,不可以在DataFrame上操作,只能对字符串进行处理,不能对整数、日期进行处理

1. 元素统计

1.1 str.count()

1.1.1 函数功能

统计Series中每个元素中包含pat的次数

1.1.2 函数语法

Series.str.count(pat, flags=0)

1.1.3 函数参数

参数含义
pat表达式
order = pd.read_excel('C:\\Users\\changyanhua\\Desktop\\order.xlsx')
print(order)
print(order['订单编号'].str.count(pat='0'))

在这里插入图片描述

1.2 str.len()

1.2.1 函数功能

统计Series中每个元素的长度

1.2.2 函数语法

Series.str.len()
print(order['支付方式'].str.len())

在这里插入图片描述

2. 字符串内容判断

2.1 str.contains()

2.1.1 函数功能

检测Series或Index的每个元素中是否包含指定内容,返回结果为布尔值构成的Series或Index

2.1.2 函数语法

Series.str.contains(pat, case=True, flags=0, na=None, regex=True)

2.1.3 函数参数

参数含义
pat要查找的内容
case布尔值,是否区分大小写,默认True:区分
flags整数,默认值为0
na标量,可选参数,对缺失值进行填充
regex布尔值,默认值为True:以正则表达式看待pat中的内容,否则以普通字符串看待
order = pd.read_excel('C:\\Users\\changyanhua\\Desktop\\order.xlsx')
print(order)
print(order['所属行业'].str.contains('计算机'))

在这里插入图片描述

对缺失值以“unknown"填充

print(order['所属行业'].str.contains('计算机',na='unknown'))

在这里插入图片描述

2.2 str.endswith()

2.2.1 函数功能

检测Series中的每个元素或索引是否以指定内容结尾,返回值为布尔值组成的Series或者Index

2.2.2 函数语法

Series.str.endswith(pat, na=None)

2.2.3 函数参数

参数含义
pat查找内容,可以是字符串或者字符串组成的元组,不接收正则表达式
na缺失值返回内容,默认NaN
print(order['公司规模'].str.endswith('500人'))

在这里插入图片描述
包含空字符串时,认为空字符串中不包含指定内容,设置na=False

order.loc[4,'公司规模']=np.nan
print(order)
print(order['公司规模'].str.endswith('500人',na=False))

在这里插入图片描述

2.3 startswith()

2.3.1 函数功能

检测Series中的每个元素或索引是否以指定内容开始,返回值为布尔值组成的Series或者Index

2.3.2 函数语法

Series.str.startswith(pat, na=None)

2.3.3 函数参数

参数含义
pat查找内容,可以是字符串或者字符串组成的元组,不接收正则表达式
na缺失值返回内容,默认NaN

2.4 str.match()

2.3.1 函数功能

检测Series中的每个元素或索引是否以指定内容开始,返回值为布尔值组成的Series或者Index

2.3.2 函数语法

Series.str.match(pat, na=None)

2.3.3 函数参数

参数含义
pat要查找的内容,格式为正则表达式
case布尔值,是否区分大小写,默认True:区分
flags整数,默认值为0
na标量,可选参数,对缺失值进行填充

str.startwith()与str.match()都可以检测Serie或者Series的Index是否以指定内容开始,凡是str.match()支持正则表达式,适用范围更广。

3.字符串替换

3.1 str.replace()

3.1.1 函数功能

替换指定内容

3.1.2 函数语法

Series.str.replace(pat, repl, n=- 1, case=None, flags=0, regex=False)

3.1.3 函数参数

参数含义
pat要查找的内容,字符串或正则表达式
repl要替换为的字符串或可迭代对象
n整数,进行替换操作的数量,默认为-1:替换所有
case布尔值,是否区分大小写,默认True:区分
flags整数,默认值为0
regex布尔值,传入的pat是否是正则表达式,默认取值为False:不是正则表达式
order = pd.read_excel('C:\\Users\\changyanhua\\Desktop\\order.xlsx')
print(order.head())
print(order['获取日期'].str.replace('-', ''))
# 将\d+视为正则表达式而不是普通字符
print(order['职位id'].astype(str).str.replace('\d+', '职位', regex='True'))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 字符串拼接

4.1 str.join()

4.1.1 函数功能

将Series或Index中的每个元素通过指定符号连接起来,当元素中有非字符串对象时,最终结果将为NaN

4.1.2 函数语法

Series.str.join(sep)[source]

4.1.3 函数参数

参数含义
sep连接符号
order = pd.read_excel('C:\\Users\\changyanhua\\Desktop\\order.xlsx')

print(order.head())
print(order['学历要求'].str.join('*'))

在这里插入图片描述

4.2 str.cat()

4.2.1 函数功能

用指定的分隔符连接Series或者Index中的元素。当指定others,将Series或者Index与others中的元素连接;否则将Series或者Index中的元素连接为一个字符串。

4.2.2 函数语法

Series.str.cat(others=None, sep=None, na_rep=None, join='left')

4.2.3 函数参数

参数含义
others取值为Series、Index、DataFrane、np.array或者list-like
sep字符串,默认为:‘’:空字符串
na_rep字符串或者None,默认为None,对缺失值的处理:当na_rep为None且当others没有时,连接结果将会忽略缺失值;如果na_rep为None,但是others有值,结果中将保留缺失值
join决定Series或Index与others之间的连接方式,默认为left:左连接

others为None,将Series中的元素连接为一个字符串

order = pd.read_excel('C:\\Users\\changyanhua\\Desktop\\order.xlsx')

print(order.head())
print(order['学历要求'].str.cat(sep='*'))

在这里插入图片描述

others存在,将Series与others中的值对应连接

print(order['学历要求'].str.cat(others=order['公司规模'], sep='*'))

在这里插入图片描述
有others参数

print(order['学历要求'].str.cat(others=['学生']*len(order),sep='*'))

order:
在这里插入图片描述

在这里插入图片描述

5. 字符串查找:返回索引

5.1 str.find()

5.1 函数功能

查找指定字符串,返回第一次出现的索引,没有找到则返回-1

5.2 函数语法

Series.str.find(sub, start=0, end=None)

5.3 函数参数

参数含义
sub要查找的字符串
start开始查找的位置
end结束查找的位置
order = pd.read_excel('C:\\Users\\changyanhua\\Desktop\\order.xlsx')

print(order)
print([order['职位名称'].str.find('开发')])

在这里插入图片描述
在这里插入图片描述

print([order['职位名称'].str.find('开发',start=5)])

在这里插入图片描述

5.2 str.findall()

5.2.1 函数功能

返回子字符串的列表

5.2.2 函数语法

Series.str.findall(pat, flags=0)

5.2.3 函数参数

参数含义
pat要匹配的字符串或正则表达式
flags正则表达式标志
print([order['职位名称'].str.findall('开发工程师')])

在这里插入图片描述

6. 指定字符串删除

6.1 str.strip()

6.1.1 函数功能

删除Series中每个字符串两边的空格(\t)和换行符(\n),也可以指定删除的字符串

6.1.2 函数语法

Series.str.strip(to_strip=None)

6.1.3 函数参数

参数含义
to_strip指定要去掉的字符串集合,集合中的所有字符串组成的集合都将被去除
order = pd.read_excel('C:\\Users\\changyanhua\\Desktop\\stp.xlsx')

print(order)
print([order['dishes_name'].str.strip()])

在这里插入图片描述
在这里插入图片描述
类似的还有str.lstrip():删除左边的指定字符;str.rstrip():删除右边的指定字符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值