Pandas系列(八)字符串处理
文章目录
前面我们已经使用了字符串的处理函数:df["bWendu"].str.replace("℃", "").astype('int32')
Pandas的字符串处理:
- 使用方法:先获取
Series
的str
属性,然后在属性上调用函数; - 只能在字符串列上使用,不能数字列上使用;
-
Dataframe
上没有str
属性和处理方法 -
Series.str
并不是Python
原生字符串,而是自己的一套方法,不过大部分和原生str
很相似;
获取数据
df.dtypes
查看各列的数据类型:
获取Series的str属性
获取Series
的str
属性,然后使用各种字符串处理函数:
它是不能用于非string
类型的数据的。否者会报错:AttributeError: Can only use .str accessor with string values!
使用str的startswith、contains等得到bool的Series可以做条件查询
使用str
的startswith
、contains
等判断字符串中是否包含某些特定字符串,bool
类Series
可以做条件查询:
需要多次str处理的链式操作
比如怎样提取201803这样的数字月份?可以分为两步:1、先将日期2018-03-31替换成20180331的形式;2、提取月份字符串201803。
这里要注意str.method
返回的是一个Series
,在这个Series
上再进行.method
是会报错的:
这里要注意slice
就是切片语法,可以直接用。
使用正则表达式的处理
将中文的年月日添加为新列:
Series.str
默认就开启了正则表达式模式: