文章目录
文本数据
一、str对象
str对象的设计意图
定义是在index或series
上的属性,用于逐元素处理文本内容
[]索引器
通过[]
来取出某一位置的元素,也能通过其进行切片
string类型
一般pandas中的元素类型是以object
类型的series
进行储存的,但是object
类型是储存混合类型的
在不同的类型的下的切片,输出结果与元素的类型有关
二、正则表达式基础
import re
一般字符匹配
re 模块的 findall
函数来匹配所有出现过但不重叠的模式,第一个参数是正则表达式,第二个参数是待匹配的字符串
元字符基础
简写字符集
三、文本处理的五类操作
拆分
str.split
能够把字符串的列进行拆分,其中第一个参数为正则表达式,可选参数包括从左到右的最大拆分次数 n ,是否展开为多个列 expand 。
合并
str.join
和 str.cat
。 str.join
表示用某个连接符把 Series 中的字符串列表连接起来,如果列表中出现了非字符串元素则返回缺失值
str.cat
用于合并两个序列,主要参数为连接符 sep
、连接形式 join
以及缺失值替代符号 na_rep
,其中连接形式默认为以索引为键的左连接
匹配
str.contains
返回了每个字符串是否包含正则模式的布尔序列
str.startswith
和 str.endswith
返回了每个字符串以给定模式为开始和结束的布尔序列,它们都不支持正则表达式
str.match
,其返回了每个字符串起始处是否符合给定正则模式的布尔序列
返回索引的匹配函数,即 str.find
与 str.rfind
,其分别返回从左到右和从右到左第一次匹配的位置的索引,未找到则返回-1
替换
str.replace
提取
提取既可以认为是一种返回具体元素(而不是布尔值或元素对应的索引位置)的匹配操作,也可以认为是一种特殊的拆分操作
str.extractall
不同于 str.extract
只匹配一次,它会把所有符合条件的模式全部匹配出来,如果存在多个结果,则以多级索引的方式存储
四、常用字符串函数
字母型函数
upper, lower, title, capitalize, swapcase
这五个函数主要用于字母的大小写转化,从下面的例子中就容易领会其功能
数值型函数
pd.to_numeric
方法能够对字符格式的数值进行快速转换和筛选。其主要参数包括 errors
和 downcast
分别代表了非数值的处理模式和转换类型。其中,对于不能转换为数值的有三种 errors
选项, raise, coerce, ignore
分别表示直接报错、设为缺失以及保持原来的字符串
在数据清洗时,可以利用 coerce
的设定,快速查看非数值型的行
统计型函数
count
和 len
的作用分别是返回出现正则模式的次数和字符串的长度
格式型函数
除空型:strip, rstrip, lstrip ,
分别代表去除两侧空格、右侧空格和左侧空格
填充型:pad
是最灵活的,它可以选定字符串长度、填充的方向和填充内容,rjust, ljust, center
来等效完成,需要注意 ljust
是指右侧填充而不是左侧填充,除了可以使用上面的左侧填充函数进行操作之外,还可用 zfill
来实现