Pandas (四)文本数据处理
文本数据也就是我们常说的字符串,Pandas 为 Series 提供了 str 属性,通过它可以方便的对每个元素进行操作。str 字符串向量化,可以提高处理字符串的效率。
使用 str 方法将数据字符串向量化映射:
#字符串处理相关的功能,就在Series.str s=grade.姓名.str s
一、和 python 原生字符串区别不大的方法
len、lower、upper、islower、isupper、find、count、strip、split
# 字符串长度 imdb.title.str.len()
# 把字符串转换成小写 imdb.title.str.lower()
# 把字符串转换成大写 imdb.title.str.upper()
# 统计字符串中出现了几个 The imdb.title.str.count('The')
# 使用 split 对字符串进行切割 wine.商品名称.str.split(' ')
二、高级方法
- contains 包含 : 判断字符串中是否包含某个自字符
- startswith :判断是否以子串开始
- endswith : 判断是否以子串结束
# 提取出姓名中包含杨的数据 grade[grade.姓名.str.contains('杨')]
# 提取以杨开始的 grade[grade.姓名.str.startswith('杨')]
#提取以大结尾的 grade[grade.姓名.str.endswith('大')]
# 把威尔斯密斯的电影提取出来 imdb[ imdb.actors_list.str.contains("Will Smith")] # 把莱昂纳多的电影提取出来 imdb[ imdb.actors_list.str.contains("Leonardo")]
三、repalce 方法
# 替换 wine.商品名称.str.replace('ml', "ML")
普通的 pandas 中的 replace
这个 repalce 和 str 向量化后的 repalce 有很大的不同,这个是对整个字符串进行替换.
grade.姓名.replace('杨璐','YangLu' ) #str只能对Series,且是对字符串 grade.姓名.str.replace('杨','Yang' )
四、生成哑变量
通过 get_dummies 方法可以将字符串转为哑变量,sep 参数是指定哑变量之间的分隔符。
k = grade_new.血型.str k.get_dummies() # 横向拼接两个表格 grade_new = pd.concat([grade_new ,k.get_dummies() ], axis = 1) grade_new