图书数据清洗——实验报告

2023-11-13

目录

图书数据清洗

1.图书数据清洗的概念

2.图书数据清洗及可视化的理论基础

3.图书数据清洗的现状及问题

4.图书数据清洗实验报告

1 读数据表

2 提取价格数值

3 提取评论数

4 提取星级数值

5 星级数值除以20

6 出版信息字符串分割

7 书名去掉【】

8 书名去掉[]

9 书名字符串分割

10 删除不需要的数据列

11 数据字段重命名


图书数据清洗

1.图书数据清洗的概念

图书数据清洗是指对图书相关的数据进行预处理和整理,以确保数据的质量和准确性。清洗过程包括去除重复数据、处理缺失值、纠正错误数据、标准化数据格式等,以便后续的数据分析和可视化工作。

2.图书数据清洗及可视化的理论基础

数据清洗是指对收集到的原始数据进行预处理、规范化和整理,以便于后续的分析和可视化。常见的数据清洗技术包括数据去重、填充缺失值、处理异常值、处理重复值等。数据清洗的理论基础包括数据预处理方法、数据质量评估标准和数据清洗算法等。

3.图书数据清洗的现状及问题

数据质量问题:原始图书数据往往存在缺失值、错误值、重复值等质量问题,这就需要进行数据清洗。然而,清洗过程中可能会遇到一些困难,例如如何确定缺失值的填充方式、如何处理异常值等。

数据整合问题:图书数据来自不同渠道和来源,可能存在格式不统一、命名不一致等问题,这给数据的整合带来了困难。特别是在进行图书分类和标注时,需要解决不同分类系统之间的映射问题。

用户隐私问题:图书数据往往涉及用户的阅读行为和个人偏好等敏感信息。在进行数据可视化时,需要注意保护用户隐私,不能泄露个人身份和具体阅读内容。

4.图书数据清洗实验报告

1 读数据表

首先,我们读取原始数据。可以看出原始数据中有许多问题,例如当前价格带有人民币符号'¥',评论数含有文本等等。

2 提取价格数值

对于当前价格这一列使用正则表达式\d{1,4}\.{0,1}\d{0,2}提取数值,保存为当前价格_match

3 提取评论数

对于评论数这一列使用正则表达式\d{1,4}\.{0,1}\d{0,2}提取数值,保存为评论数_match

4 提取星级数值

对于星级这一列使用正则表达式\d{1,4}\.{0,1}\d{0,2}提取数值,保存为星级_match

5 星级数值除以20

接着将提取出的星级数值除以20,将取值范围转换为[0,5]。

可以看到,经过列数值计算后的数据更适合数据的建模计算和可视化分析了。

6 出版信息字符串分割

接下来我们处理出版信息这一列,从原始数据中可以看到,这一列主要包含三个信息,分别是作者、出版日期、出版社。它们以“/”分隔,并且存放在一个数据单元中,我们将它们分别取出,然后单独存为三列。

7 书名去掉【】

书名信息中混合着简介信息,观察原始数据中书名一列,能找到一些规律。除去一些包含在 【】和 [] 中间的标注信息,剩余的内容中书名和其他内容基本是由空格隔开的。所以我们首先将【】和 [] 去掉,然后按照空格分隔字符串,第一个内容便是书名。

首先在书名一列中去掉【】中的信息,使用正则表达式[\【].*[\】]将【】和其中的信息替换为空格,并将结果保存为书名_replace

8 书名去掉[]

接着在书名_replace一列中去掉[]中的信息,使用正则表达式[\[].*[\]]将[]和其中的信息替换为空格,保存为书名_replace_replace

9 书名字符串分割

去除方括号【】和[]后我们把书名_replace_replace列中文字根据空格进行字符串分割,并进行分列。

10 删除不需要的数据列

在原始数据中和上面操作生成数据中有许多冗余数据列,我们把不需要的数据列都删除掉。

11 数据字段重命名

最后,我们将数据集各列特征名称修改为各列数据的信息种类。

原始数据集中含有文字数字混杂、量纲不同等等问题。经过数据清理,原始数据集已经适用于进一步的建模计算和可视化处理了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图书数据清洗——实验报告 的相关文章

  • Django基于用户画像的电影推荐系统源码(项目源代码)

    一 项目介绍 公众号 yk 坤帝 获取全部源代码 本系统是以Django作为基础框架 采用MTV模式 数据库使用MongoDB MySQL和Redis 以从豆瓣平台爬取的电影数据作为基础数据源 主要基于用户的基本信息和使用操作记录等行为信息
  • 微信分享引导页效果

    span style font size 18px span
  • java的rmi

    写在前面 本文看下如何通过Java原生提供的rmi功能来调用远端JVM对象的方法 并获取其结果 1 定义远端service pojo 使用了lombok Getter Setter ToString public class User im
  • 在较新版pycharm中使用conda虚拟环境的两种方法-保姆级教程

    文章目录 方法一 配置解释器 方法二 命令行直接调用 注意事项 方法一 配置解释器 首先创建new project 之后等待配置索引等文件即可 方法二 命令行直接调用 在终端terminal中直接使用conda activate xxx 但
  • 计算机网络工程毕业设计题目选题大全

    文章目录 0 简介 1 如何选题 2 最新网络工程选题 2 1 Java web SSM 系统 2 2 大数据方向 2 3 人工智能方向 2 4 其他方向 4 最后 0 简介 学长搜集分享最新的网络工程专业毕设毕设选题 难度适中 适合作为毕
  • js复制一个对象的方法,不改变原对象

    复制一个对象 不改变原对象简单方法如下 var obj a 1 b 2 es6新方法 Object assign var newObj Object assign obj es6新方法 扩展运算符 var newObj obj 有个弊端 就
  • 什么是网络编程?

    目录 一 UDP DatagramSocket DatagramPacket 服务器 客户端 二 TCP ServerSocket Socke 服务器 客户端 网络编程指的就是网络上的主机通过不同的进程 以编程的方式实现网络信息传输 而提到

随机推荐

  • CSDN如何调节成黑色主题,手把手教学

    今天师弟来问我 有没有把浏览器调节成黑色主题的东东 每天看网页很久 白色太刺眼了 作为未来的新晋程序员 也显得不专业 想到自己有个插件 就分享了出来 获得好评 有需求的地方就有分享 首先上效果图 随便打开一篇文章看一看 教程 首先 要用谷歌
  • 5G技术详解系列-PDU会话签约数据(6)

    相关文章会在公众号同步更新 公众号 5G通信大家学 持续更新的相关5G内容都是直接根据3GPP整理 保证更新内容的准确性 避免通过二手 甚至多手的资料 以讹传讹误导网友 在介绍完流程详解后 会整理专题内容 比如切片 服务发现 QoS流端到端
  • 我的世界java版怎么加整合包_我的世界Minecraft Mod(模组)安装指南

    前言 Mod的安装方法主要分为核心Jar文件手动覆盖安装和使用Forge加载 现在大多数的Mod基本都是依赖于Forge来加载Mod 不过对于刚接触我的世界的玩家来说 在安装Mod的时候也是一头雾水 导致安装Mod后 出现诸如游戏崩溃 黑屏
  • 【从零开始的Java开发】1-6-2 泛型:概述、泛型作为方法参数、自定义泛型、自定义泛型方法

    文章目录 泛型概述 泛型作为方法参数 自定义泛型 一个参数 两个参数 自定义泛型方法 总结 泛型概述 为什么要有泛型 在Java增加泛型之前 泛型程序设计使用继承来实现 坏处 需要强制转换 可向集合中添加任意类型的对象 存在风险 泛型的使用
  • 主干光缆线路的组网结构

    主干光缆是指连接主干光交与业务汇聚节点 以及主干光交之间的光缆 业务汇聚点指安装了OLT设备的节点 主干光交内的业务端口与业务汇聚点ODF间的光纤链路部分或全部是直连的 中间没有活动连接 主干光缆线路的组网结构一般分为 环形 树形和星形 1
  • 嵌入式Linux设备读取CPU温度的方法

    1 ARM 平台下 cat sys devices virtual thermal thermal zone0 temp62374 cat sys class thermal thermal zone0 temp 64036x86 平台下
  • vue项目配置rem移动端适配

    一 项目介绍 脚手架CLI vue cli Vue版本 2 6 11 移动UI组件库 Vant 2 10 14 CSS预处理器 sass 二 配置lib flexible插件 下载插件 npm i D lib flexible 导入 在sr
  • 据说,80%的人都搞不懂哈希算法 区块链 哈希算法

    本文约9000字 阅读 观看 需要52分钟 聊到区块链的时候也少不了会听到 哈希 哈希函数 哈希算法 是不是听得一头雾水 别急 这一讲我们来讲讲什么是哈希算法 哈希是一种加密算法 哈希函数 Hash Function 也称为散列函数或杂凑函
  • 车辆贷款违约预测

    1 案例介绍 国内某贷款机构的车贷业务面临借款人拖欠还款或拒不还款 导致该机构的不良贷款率居高不下的问题 该机构将部分贷款数据开放 诚邀大家帮助他们建立风险识别模型来预测可能违约的借款人 敏感信息已脱敏 给定某机构实际业务中的相关借款人信息
  • 数据库的4种隔离级别

    数据库事务的隔离级别有4种 由低到高分别为Read uncommitted Read committed Repeatable read Serializable 而且 在事务的并发操作中可能会出现脏读 不可重复读 幻读 下面通过事例一一阐
  • kafka 使用python消费consumer

    参考 python kafka 使用 大数据 kafka常见问题 kafka python之操作kafka Kafka基本了解 使用python读取consumer中的数据 安装kafka python pip install kafka
  • 常用邮箱、网盘地址列表

    常用邮箱 网盘地址列表 常用邮箱列表 126邮箱 http www 126 com Yeah邮箱 http www yeah net 雅虎邮箱 http mail cn yahoo com 新浪邮箱 http mail sina com c
  • Python Performance Matters

    Python Performance Matters cmd 不要重复定义数据类型 yappi cpu yappi cpu by Emery Berger Strange Loop 2022 cmd python3 m cProfile 不
  • 读书笔记2

    深度学习入门 基于Python的理论与实现 高清中文版 pdf 1 python基础 numpy matplotlib Batch Normalization Dropout Adam 图像识别 自然语言处理 语音识别 不闻不若闻之 闻之不
  • 经典始终是经典,从理论到实践的Java并发编程实战笔记

    并发编程式Java语言的重要特性之一 当然也是最难以掌握的内容 编写可靠的并发程序是一项不小的挑战 但是 作为程序员的我们 要变得更有价值 就需要啃一些硬骨头了 例如理解并发编程的基础理论和编程实践 今天给小伙伴们带来了一份Java并发编程
  • 《数据库系统概论》 第十章 数据库恢复技术

    事务是一系列的数据库操作 是数据库应用程序的基本逻辑单元 事务处理 transaction processing 技术主要包括数据库恢复技术和并发控制技术 10 1 事务的基本概念 事务 是用户定义的一个数据库操作序列 是一个不可分割的工作
  • 判断对象中是否存在某个字段

    hasOwnProperty 方法 var obj name 我是张三 obj hasOwnProperty name 输出true obj hasOwnProperty eag 输出false 注意 该方法可以判断对象是否含有某个属性 某
  • 如何获取微信服务号用户的openID

    1 进入微信公众号官网 并登入你的微信服务号 2 点击用户管理 进入后可以看到全部用户 3 点击用户头像 如下图所示 4 自动跳转到聊天界面 浏览器上方url中包含用户openID 画圈区域 如下图所示
  • 绝地淘沙显示进不去服务器,绝地国服遥遥无期 这款国产游戏却已经抢先登陆了!...

    原标题 绝地国服遥遥无期 这款国产游戏却已经抢先登陆了 绝地求生 国服遥遥无期 广大爱好者们磨刀霍霍 奈何无鸡可吃啊 好在西山居自研DIY生存竞技端游 自由禁区 近期刚刚开启测试 给苦等的玩家们一个好去处 从笔者的亲身体验来看 虽然游戏目前
  • 图书数据清洗——实验报告

    目录 图书数据清洗 1 图书数据清洗的概念 2 图书数据清洗及可视化的理论基础 3 图书数据清洗的现状及问题 4 图书数据清洗实验报告 1 读数据表 2 提取价格数值 3 提取评论数 4 提取星级数值 5 星级数值除以20 6 出版信息字符