基于pandas的文本数据(字符串)处理
基于pandas的文本数据(字符串)处理
一、String类型的性质
1.1 string与object的区别
string类型和object不同之处有三:
- 字符存取方法(string accessor methods,如str.count)会返回相应数据的Nullable类型,而object会随缺失值的存在而改变返回类型
- 某些Series方法不能在string上使用,例如: Series.str.decode(),因为存储的是字符串而不是字节
- string类型在缺失值存储或运算时,类型会广播为pd.NA,而不是浮点型np.nan
为迎合pandas的发展模式,这里仍全部用string来操作字符串。
1.2 string类型的转换
如果将一个其他类型(如int、float、bool型数据)的容器直接转换string类型可能会出错:
当下正确的方法是分两部转换,先转为str型object,在转为string类型:
二、拆分与拼接
三、 替换
广义上的替换,就是指str.replace函数的应用,fillna是针对缺失值的替换,提到替换,就不可避免地接触到正则表达式。
四、子串匹配与提取
4.1 str.extract方法
4.2 str.extractall方法
五、常用字符串方法
1. 过滤型方法
2. isnumeric方法
检查每一位是否都是数字