目录这篇博客是对自己学习过后的一点点总结及记录,如果您对此感兴趣,就点个关注呗!我们一起学习,共同进步。
- 技术是开源的,知识是共享的。
- 爱的传递,希望能帮到更多的人。
- 前言:
- 1. 导入相关库
- 2. str属性
- 2.1 读入数据演示
- 2.2 replace: 是Pandas本身的替换功能
- 2.3 和 python 原生字符串区别不大的方法
- 2.4 实战练习
- 3. 高级方法
- 4. 其他方法
- 4.1 get方法
- 4.2 从索引为1切到最后
- 4.3 slice 进行截取
- 4.4 slice_replace 对元素进行切片替换
- 4.5 cat 对字符串进行连接
- 4.6 repeat 重复
- 4.7 实战练习
- End :
2. str属性import numpy as np
import pandas as pd
2.1 读入数据演示Series中可以用字符串相关的方法,封装在str子模块下面。
wine = pd.read_csv("练习数据\wine.csv",sep=',') #导入数据
wine.head() #展示所有数据
2.2 replace: 是Pandas本身的替换功能
grade.replace('王雪','张三') #替换一个
grade.replace({'王雪':'张三', '韩林霖':'赵四'}) # 用字典一次性替换多个
# grade.replace('王','六') #不能进行单个字替换
- 对比, str 功能下面的替换
t = grade.姓名.str.replace('王','🤙') #可以进行单个字替换
2.3 和 python 原生字符串区别不大的方法
- len #长度
- lower #小写
- upper #大写
- islower
- isupper
- find
- count
- strip
- split
# 统计这个班级有多少个2个字的,3个字的
grade['姓名长度'] = grade.姓名.str.len() #长度
grade.姓名长度.value_counts() #次数
#提取姓名长度为4的
grade[grade.姓名长度 == 4]
imdb.title.str.upper()#将原来的转换为大写
2.4 实战练习
wine
- 把品牌中的红,替换成黑。
- 统计商品名称中"酒" 这个字都出现了多少次,并统计各次数出现的值。
- 提取出日期中的年,月,日 并拆分成三列。
- 提取出所有二锅头。
wine.品牌.str.replace('红','黑')
wine['酒次数'] = wine.商品名称.str.count('酒')
wine.酒次数.value_counts()
wine[['年','月','日']] = wine.日期.str.split('/', expand=True)
wine[wine.商品名称.str.contains('二锅头')]
3. 高级方法
- contains 包含 : 判断字符串中是否包含某个自字符
- startswith :判断是否以子串开始
- endswith : 判断是否以子串结束
# 提取出姓名中包含罗的数据
grade[grade.姓名.str.contains('罗')]
# 提取出第一个字是梦的
grade[grade.姓名.str.startswith('梦')]
# 提取出最后一个字是宇的
grade[grade.姓名.str.endswith('宇')]
4. 其他方法
4.1 get方法
grade.姓名.str.get(0) #返回首个字符
wine.商品名称.str.get(1) #返回第二个字符
4.2 从索引为1切到最后
grade.姓名.str.slice(1)
4.3 slice 进行截取
wine.商品名称.str.slice(0,3)
4.4 slice_replace 对元素进行切片替换
wine.商品名称.str.slice_replace(0,3,'你好')
4.5 cat 对字符串进行连接
grade.姓名.str.cat(sep=', ')
4.6 repeat 重复
# 把每个元素重复 n 次
grade.姓名.str.repeat(2)
4.7 实战练习
- 将imdb当中star_rating, 拆分成整数列 和小数列, 中间的点 不要了。
- 将imdb数据title中的标题,连接成没有空格的字符串。
- 将imdb数据中genre这一列的所有字母改成大写字母。
- 找出广告词中含有领券的商品。
- 找出wine数据中ID中含有3个以上数字8的商品。
imdb['整数'] = imdb.star_rating.astype('str').str.get(0)
imdb['小数'] = imdb.star_rating.astype('str').str.get(2)
imdb['title'] = imdb.title.str.replace(' ','')
imdb['genre'] = imdb.genre.str.upper()
wine.广告词.str.contains('领券').fillna(False)
wine[wine.广告词.str.contains('领券').fillna(False)]
wine[wine.ID.astype('str').str.count('8') >= 3]
End :
如果觉得有收获,就点个赞吧!
你的鼓励是我创作的最大动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)