当前位置: 首页 > news >正文

【楚怡杯】职业院校技能大赛 “Python程序开发”数据清洗练习

题目:

  1. 将书名为‘一级建造师 2020教材 2020版一级建造师 建筑工程管理与实务’的作者(空值)改为 '全国一级建造师执业资格考试用书编写委员会',‘出版日期’改为‘2020-05-01’
  2. 将书名为‘中国共产党简史(32开)2021党史学习教育系列读物领导干部学习指’的作者(空值)改为 '中国共产党简史编写组'
  3. 将书名为‘写给青少年的古文观止全套5册正版小古文小学初中高中注音详解注释’的作者(空值)改为 '伊泽'
  4. 考虑到电子书价格缺失值占比过大,这里直接删除这一特征列
  5. 把推荐值为0%的值,替换成100%,评论数的空值用平均值填充。
  6. 将排行榜类型中的“xxxx年”改成“xxxx”,并且改成int类型
  7.  将评论数转换为整数
  8. 将出版日期转换为日期格式(2019-11-01  ==>  2019年11月01日)
  9. 将折扣比例去掉'折'字符',并转换为浮点数
  10. 将推荐值从百分比字符删除,并降序排序
  11. 索引重新排序
  12. 找出哪本书出版最多,出版了几次
  13. 一共有多少位作者

答案:

import pandas as pd
from datetime import datetime
pd.set_option('display.max_columns', None)
data = pd.read_csv('当当网畅销图书榜单数据.csv')


#将书名为‘一级建造师 2020教材 2020版一级建造师 建筑工程管理与实务’的作者(空值)改为 '全国一级建造师执业资格考试用书编写委员会',‘出版日期’改为‘2020-05-01’
#将书名为‘中国共产党简史(32开)2021党史学习教育系列读物领导干部学习指’的作者(空值)改为 '中国共产党简史编写组'
#将书名为‘写给青少年的古文观止全套5册正版小古文小学初中高中注音详解注释’的作者(空值)改为 '伊泽'
data.loc[data['书名'] == '一级建造师 2020教材 2020版一级建造师 建筑工程管理与实务',['作者' ]] = '全国一级建造师执业资格考试用书编写委员会'
data.loc[data['书名'] == '一级建造师 2020教材 2020版一级建造师 建筑工程管理与实务','出版日期'] = '2020-05-01'
data.loc[data['书名'] == '中国共产党简史(32开)2021党史学习教育系列读物领导干部学习指','作者'] = '中国共产党简史编写组'
data.loc[data['书名'] == '写给青少年的古文观止全套5册正版小古文小学初中高中注音详解注释','作者'] = '伊泽'

#考虑到电子书价格缺失值占比过大,这里直接删除这一特征列
data.drop(columns=['电子书价格'],inplace=True)
#把推荐值为0%的值,替换成100%,评论数的空值用平均值填充。
data['推荐值'] = data['推荐值'].replace('0%','100%')
data['评论数'] = data['评论数'].fillna(data['评论数'].mean())
# 将排行榜类型中的“xxxx年”改成“xxxx”,并且改成int类型
# data['排行榜类型'] = data['排行榜类型'].apply(lambda x : int(str(x).replace('年','')))
data['排行榜类型'] = data['排行榜类型'].str.replace('年','').astype(int)
# 将评论数转换为整数
data['评论数'] = data['评论数'].astype(int)
# 将出版日期转换为日期格式(2019-11-01  ==>  2019年11月01日)
data['出版日期'] = pd.to_datetime(data['出版日期']).dt.strftime('%Y年%m月%d日')
# data['出版日期'] = pd.to_datetime(data['出版日期'].str.replace('年','-').str.replace('月','-').str.replace('日','-'))
# 将折扣比例去掉'折'字符',并转换为浮点数
data['折扣比例'] = data['折扣比例'].str.replace('折','').astype(float)
# 将推荐值从百分比字符删除,并降序排序
data['推荐值'] = data['推荐值'].str.replace('%','').astype(float)
data.sort_values(by='推荐值',ascending=False,inplace=True)
#索引重新排序
data.index = [i for i in range(0,2000)]
#找出哪本书出版最多,出版了几次
print(data['书名'].value_counts().idxmax(),data['书名'].value_counts().max())
#一共有多少位作者
print(data['作者'].nunique())

http://www.lryc.cn/news/454744.html

相关文章:

  • 重学SpringBoot3-集成Redis(五)之布隆过滤器
  • BGP路由原理详解
  • Pytorch实现心跳信号分类识别(支持LSTM,GRU,TCN模型)
  • AI股市预测的可参考价值有几何?
  • 【大数据应用开发】2023年全国职业院校技能大赛赛题第02套
  • 2. 将GitHub上的开源项目导入(clone)到(Linux)服务器上——深度学习·科研实践·从0到1
  • 毕业设计项目——基于transformer的中文医疗领域命名实体识别(论文/代码)
  • 电子信息类专业技术学习及比赛路线总结(大一到大三)
  • 怎么将bash(sh)的所有输出保存到log/txt中?
  • 腾讯云服务器上使用Nginx部署的静态网站打开速度慢的原因分析及优化解决方案
  • 如何移除 iPhone 上的网络锁?本文筛选了一些适合您的工具
  • 深度学习:CycleGAN图像风格迁移转换
  • pytorch和yolo区别
  • 使用树莓派搭建音乐服务器
  • 单链表的分解
  • [OS] 4.Linux 内核
  • flutter_鸿蒙next_Dart基础③函数
  • 基于猎豹优化算法(The Cheetah Optimizer,CO)的多无人机协同三维路径规划(提供MATLAB代码)
  • Linux:进程的创建、终止和等待
  • 数值优化基础——基于优化的规划算法
  • 括号匹配——(栈实现)
  • 【Java 并发编程】初识多线程
  • Linux下载安装MySQL8.4
  • 强化学习笔记之【DDPG算法】
  • c++继承(下)
  • 数据结构 ——— 单链表oj题:反转链表
  • 前端项目npm install报错解决的解决办法
  • vue双向绑定/小程序双向绑定区别
  • 华为OD机试真题---字符串变换最小字符串
  • JAVA基础面试题汇总(持续更新)