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(' ')

二、高级方法

  1. contains 包含 : 判断字符串中是否包含某个自字符
  2. startswith :判断是否以子串开始
  3. 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

 

 

posted @ 2019-10-17 17:53  小稣  阅读(298)  评论(0编辑  收藏  举报