十一、向量化字符串操作
1.Pandas字符串操作简介
Pandas 为包含字符串的 Series 和 Index 对象提供 str 属性,既可以高效满足向量化字符串操作的需求,又可以正确地处理缺失值。
2.Pandas字符串方法列表
1)与Pandas字符串方法相似
几乎所有 Python 内置的字符串方法都被复制到 Pandas 的向量化字符串方法中。
( Python 内置的字符串方法参考https://blog.csdn.net/weixin_40844116/article/details/83790546)
len() | lower() | translate() | islower() |
ljust() | upper() | startswith() | isupper() |
rjust() | find() | endswith() | isnumeric() |
center() | rfind() | isalnum() | isdecimal() |
zfill() | index() | isalpha() | split() |
strip() | rindex() | isdigit() | rsplit() |
rstrip() | capitalize() | isspace() | partition() |
lstrip() | swapcase() | istitle() | rpartition() |
根据不同方法,返回序列的dtype也不同
2)使用正则表达式的方法
Pandas
向量化字符串方法根据 Python 标准库的 re 模块函数实现的 API。
(re模块参考https://blog.csdn.net/weixin_40844116/article/details/84646619)
能将正则表达式应用到 Series 与 DataFrame 之中的话,就有可能实现更多的数据分析与清洗方法。
方法 | 描述 |
---|---|
match() | 对每个元素调用 re.match(),返回布尔类型值 |
extract() | 对每个元素调用 re.match(),返回匹配的字符串组(groups) |
findall() | 对每个元素调用 re.findall() |
replace() | 用正则模式替换字符串 |
contains() | 对每个元素调用 re.search(),返回布尔类型值 |
count() | 计算符合正则模式的字符串的数量 |
split() | 等价于 str.split(),支持正则表达式 |
rsplit() | 等价于 str.rsplit(),支持正则表达式 |
3)其他字符串方法
方法 | 描述 |
---|---|
get() | 获取元素索引位置上的值,索引从 0 开始 |
slice() | 对元素进行切片取值 |
slice_replace() | 对元素进行切片替换 |
cat() | 连接字符串(此功能比较复杂,建议阅读文档) |
repeat() | 重复元素 |
normalize() | 将字符串转换为 Unicode 规范形式 |
pad() | 在字符串的左边、右边或两边增加空格 |
wrap() | 将字符串按照指定的宽度换行 |
join() | 用分隔符连接 Series 的每个元素 |
get_dummies() | 按照分隔符提取每个元素的 dummy 变量,转换为独热(one-hot)编码的 DataFrame |
- 向量化字符串的取值和切片操作get() slice()
df.str.slice(0, 3) 等价于 df.str[0:3],
df.str.get(i) 与 df.str[i]的按索引取值效果类似
结合多种方法,连续操作
- get_dummies() 方法-分列