从网络采集来的数据集往往是杂乱无章的,而使用 Python 处理字符串往往是比较容易的,Pandas 同样提供了一系列向量化字符串操作方法
-
一、Pandas字符串操作:.str
假设有以下的 Series 实例:
如果用函数向量化的方法,对上面的 Series 中的字符串进行处理,比如所有单词的首写字母都转化为大写,是可行的,但是如果 Series 中的字符串包含缺失值,就需要进一步修改向量化的函数,比较繁琐,此时,对字符串进行处理最快速的是使用 Pandas 的字符串操作方法:
Series 还有一些字符串的切片以及合并操作,都可以通过 .str 的方法来调用:
-
二、Pandas 字符串方法列表
Pandas 绝大多数字符串方法都跟 Python 字符串方法很相似
- 字符长度
- len()
- 字符检索
- find()
- rfind()
- 字符转换
- lower()
- upper():
- title:将每个单词的第一个字符转换为大写和保持小写
- capitalize():将第一个字符转换为大写字母保持小写
- swapcase() :将大写转换为小写,小写转换为大写
- translate()
- 字符替换
- replace()
- 字符类型判断
- islower()
- isupper()
- isnumeric()
- isalnum()
- isdecimal()
- isalpha()
- isdigit()
- isspace()
- istitle()
- 字符调整
- ljust()
- rjust()
- 字符对齐与填充
- startswith()
- endswith()
- center()
- zfill()
- 字符检索
- index()
- rindex()
- find()
- 字符切割
- split()
- rsplit()
- partition()
- rpartition()
- 字符整理
- strip()
- rstrip()
- lstrip()
-
三、使用频率最高的方法
-
1、.replace()
-
2、.split()
-
3、.strip()
-
四、使用频率较低的方法
-
1、字符转化:.str.translate()
注:ord()函数主要用来返回对应字符的ascii码,chr()主要用来表示ascii码对应的字符他的输入时数字,可以用十进制,也可以用十六进制
-
2、字符调整:.str.ljust() 和 .str.rjust()
-
3、字符开头结尾与填充:.str.startswith(),.str.endswith(),.str.center(),.str.zfill()
-
4、字符检索:.str.index(),.str.rindex(),.str.find()
.str.index() 和 .str.rindex() 方法无法在 Series 中找到包含字符的字符串,即只能找某一个字符,且必须整个 Series 里所有非空字符串中都包含要查找的字符,否则就会报错:
用 .str.find() ,找不到检索字符的话,将会返回-1,且可以查找多个字符: