文章目录
前面我们已经使用了字符串的处理函数: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默认就开启了正则表达式模式: