《Python Data Analysis》
pandas中矢量化的字符串函数
问题: 通过Series的map
函数,所有字符串和正则表达式方法都能被应用于各个值(传入lambda表达式或其他函数),但是如果存在NA就会报错。
解决: Series有一些能够跳过NA值得字符串操作方法,通过Series的str
属性可以访问这些方法。
矢量化的字符串方法:
方法 | 说明 |
---|---|
cat | 实现元素级的字符串连接操作,可指定分隔符 |
contains | 返回表示各字符串时候含有指定模式的布尔型数组 |
count | 模式出现的次数 |
endswith、startswith | 对各个元素执行x.endswith(pattern)或x.startswith(pattern) |
findall | 计算各字符串的模式列表 |
get | 获取各元素的第i个字符 |
join | 根据指定的分隔符将Series中的各个元素的字符串连接起来 |
len | 字符串长度 |
lower、upper | 大小写转换 |
match | 根据指定的正则表达式对各个元素执行re.match |
pad | 在字符串的左边或右边或两边添加空白符 |
center | 相当于pad(side=’both’) |
repeat | 重复值。例如s.str.repeat(3)相当于对各个字符串执行x * 3 |
replace | 用指定字符串替换找到的模式 |
slice | 对Series的各个字符串进行子串截取 |
split | 根据分隔符或正则表达式对字符串进行拆分 |
strip、rstrip、lstrip | 去除空白符 |