大数据分析实践 | pandas数据质量分析

文章目录

  • 📚数据质量评估的五个维度
  • 📚口袋妖怪数据质量分析
    • 🐇导入库和数据
    • 🐇检查数据
    • 🐇缺失值分析
    • 🐇重复值检测
    • 🐇异常值检测

📚数据质量评估的五个维度

在这里插入图片描述

  • Coherent: without semantic errors or contradictory data between attributes of an object
  • Correct: the extent to which data correctly portrays reality
  • Completeness: without missing (null) values in table fields
  • Currency: the degree to which data is up-to-date
  • Consistency: consistent data values for an entity between different tables

在这里插入图片描述

📚口袋妖怪数据质量分析

🐇导入库和数据

import pandas as pd
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings('ignore')   #忽略警告
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
url = r'./data/Pokemon.csv'
data = pd.DataFrame(pd.read_csv(url))  #打开文件,读取数据

🐇检查数据

# 输出前五行数据
print('前五行数据:')
print(data.head(5))

在这里插入图片描述


# 输出最后三行数据
print('后三行数据')
print(data.tail(3))

在这里插入图片描述

  • 删除后两行 :data = data.iloc[:-2]

# 查看列名
print('列名:',data.columns)

在这里插入图片描述

# 查看行数与列数
print('行数与列数:',data.shape)

在这里插入图片描述

# 展示index,datatype和memory相关信息
print(data.info())

在这里插入图片描述

🐇缺失值分析

raw, column = data.shape  
if None:num = data[col].isnull().sum().sort_values()
else:num = data.isnull().sum().sort_values() 
print(None, r'缺失数')
print(num)  
print(None, r'缺失比例')
print(num/raw)

在这里插入图片描述
在这里插入图片描述

  • 将所有缺失值填充为“null”:data = data.fillna("null")

🐇重复值检测

主要针对#

# 检查 'id' 列是否有重复值
duplicate_ids = data.duplicated('#')
# 获取所有具有重复 id 的行
duplicate_rows = data[duplicate_ids]
# 打印具有重复 id 的行
print("具有重复 id 的行:")
print(duplicate_rows)

在这里插入图片描述

  • 对于 # 重复的妖怪只保留第一条记录:data = data.drop_duplicates(['#'],keep='first')

🐇异常值检测

  • 离群值
    data['Attack'] = data['Attack'].astype(float)
    data['Defense'] = data['Defense'].astype(float)
    data['Sp. Atk'] = data['Sp. Atk'].astype(float)
    data['Sp. Def'] = data['Sp. Def'].astype(float)
    data['Speed'] = data['Speed'].astype(float)
    data.boxplot(column=['Attack','Defense','Sp. Atk','Sp. Def','Speed'])
    plt.show()
    
    在这里插入图片描述

  • 检查 Generation列是否存在非数字值

    non_numeric_generation = pd.to_numeric(data['Generation'], errors='coerce').isna()
    print(data[non_numeric_generation])
    

    在这里插入图片描述

    • data = data[~non_numeric_generation]

  • 检查 Legendary列除了TRUE和FALSE之外的值

    filtered_data = data[~data['Legendary'].isin(['TRUE', 'FALSE'])]
    print(filtered_data)
    

    在这里插入图片描述

    • data = data.drop(filtered_data.index)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/166857.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【刷题篇】反转链表

文章目录 一、206.反转链表二、92.反转链表 ||三、25. K 个一组翻转链表 一、206.反转链表 class Solution { public://使用头插//三个指针也可以ListNode* reverseList(ListNode* head) {if(headnullptr)return nullptr;ListNode* curhead;ListNode* newheadnew ListNode(0);L…

VR智能家居虚拟连接仿真培训系统重塑传统家居行业

家居行业基于对场景的打造及设计,拥有广阔前景,是众多行业里面成为最有可能进行元宇宙落地的应用场景之一。 家居行业十分注重场景的打造及设计,而元宇宙恰恰能通过将人工智能、虚拟现实、大数据、物联网等技术融合提升,带来身临其…

国产开发板上打造开源ThingsBoard工业网关--基于米尔芯驰MYD-JD9X开发板

本篇测评由面包板论坛的优秀测评者“JerryZhen”提供。 本文将介绍基于米尔电子MYD-JD9X开发板打造成开源的Thingsboard网关。 Thingsboard网关是一个开源的软件网关,采用python作为开发语言,可以部署在任何支持 python 运行环境的主机上,灵…

Linux 救援模式

Linux突然坏了 第三次坏了 第一次是找不到盘,修复好了 第二次是找不到卷,但是能启动,启动界面选择救援模式,可以正常使用 第三次,尝试修复卷,启动后,找不到文件系统了,只能从光盘…

使用 Visual Studio Code (VS Code) 作为 Visual C++ 6.0 (VC6) 的编辑器

使用 Visual Studio Code (VS Code) 作为 Visual C 6.0 (VC6) 的编辑器 由于一些众所周知的原因,我们不得不使用经典(过时)的比我们年龄还大的已有 25 年历史的 VC 6.0 来学习 C 语言。而对于现在来说,这个经典的 IDE 过于简陋&a…

在PS中轻松实现肖像磨皮,感受Imagenomic Portraiture 4的强大

每个人都希望自己的肖像照片看起来漂亮、清晰并且光滑。然而,在处理肖像照片时,要达到这些效果通常需要花费大量时间和精力。如果您正在寻找一种简单快捷的方法来优化您的肖像照片,那么Imagenomic Portraiture 4插件将是您的理想选择。 Imag…

靶机 DC_1

DC_1 信息搜集 存活检测 详细扫描 网页目录扫描 网页信息搜集 cms 为 Drupal 漏洞利用 使用 msf 搜索 drupal 的漏洞 启动 msfconsole搜索 search drupal尝试编号为 0 的漏洞 失败 利用编号为 1 的漏洞 use 1查看需要配置的选项 show options设置目标 ip set rhost 10…

B/S医院手术麻醉临床系统:围术期的认识

手术是治疗很多疾病最有效而且绕不开的措施。而从医生和患者确定了要进行手术治疗的时候,医院相关人员就会开始围着患者团团转,在术前、术中和术后,医生会告诉患者很多事情,患者也会了解很多就诊相关知识。 一、围术期的认识 围术…

通讯录和内存动态管理

目录 (通讯录)动态增长版 实现效果 找单身狗 题目 源码 思路 三个内存函数的模拟实现 模拟实现strncpy 模拟实现strncat 模拟实现atoi (通讯录)动态增长版 该版本通讯录在原版的基础上增加了检查容量函数,实现了通讯录的动态…

MAC如何在根目录创建文件

在这之前先明确一下啥是根目录。 打开终端,输入cd /,然后输入 ls 查看根目录下有哪些文件 可以看到 usr、etc、opt 这些文件的地方才叫根目录,而不是以用户命名,可以看到音乐、应用程序、影片、桌面的地方哈 介绍一种叫做软连接…

Axi_Lite接口的IP核与地址与缓冲与AxiGP0

AXI Interconnect互连内核将一个或多个 AXI 内存映射主设备连接到一个或多个内存映射从设备。 AXI_GP 接口 AXI_GP 接口是直接连接主机互联和从机互联的端口的。 AXI_HP 接口具有一个 1kB 的数据 FIFO 来做缓冲 [4],但是 AXI_GP 接口与它不同,没…

使用c++实现简易线程池

线程池其实就是一堆处理任务的线程和 一个任务队列 ,处理线程不断地从这个任务队列中拿出任务进行处理。 不过需要注意的是 对于这个任务队列需要保证线程安全 一个简易的线程池需要 1,一个向任务队列中添加任务的接口 2,一个从任务队列中取…

Hexo搭建个人博客系列之环境准备

环境准备 Git Git官网,安装过程,就是一直下一步,详细的看这篇文章 Git的安装 Node.js Node.js官网 Node.js的安装 注册一个GitHub账号 安装hexo 新建一个文件夹(位置任意),运行cmd(若出现了operation not permitted,就以管理员的权限来运行cmd),运行…

【前端vue面试】vue2

目录 computed和watchv-show和v-ifkey 的重要性v-for 和 v-if 不能一起使用!click的event修饰符事件修饰符表单项修饰符 父子组件通讯生命周期父子组件生命周期顺序 $nextTickslot 插槽动态组件异步组件keep-alivemixin computed和watch computed 有缓存&#xff0…

飞书-多维文档-计算时间差

1. 选择字段类型 如图所示,字段类型选择 公式 2. 编辑公式 单击 公式编辑器 在弹出的公式编辑框中输入公式 TEXT([终结时间]-[开始时间],"HH:MM") [终结时间] 和 [开始时间] 请替换成你的表格中对应的字段名称HH:MM 表示输出的时间格式为 时:分其中 “…

SpringAMQP

SpringAMQT RabbitMQ安装与部署RabbitMQ结构简单队列模型 SpringAMQP依赖引入配置RabbitMQ连接信息基本模型简单队列模型WorkQueue模型 发布订阅模型FanoutExchangeDirectExchangeTopicExchange 消息转换器 消息队列是实现异步通讯的一种方式,我们将从RabbitMQ为例开…

Python实现一个简单的http服务,Url传参输出html页面

摘要 要实现一个可以接收参数的HTTP服务器,您可以使用Python标准库中的http.server模块。该模块提供了一个简单的HTTP服务器,可以用于开发和测试Web应用程序。 下面是一个示例代码,它实现了一个可以接收参数的HTTP服务器: 代码…

递福巴士是不是骗局呢?

递福巴士的背景介绍 递福巴士是社区服务机构软件。递福巴士是一家提供公益服务的平台,为社区居民提供各种服务和支持的软件。多年来,递福巴士一直致力于社区服务和社会公益,积极推动社区的发展,改善社区居民的生活质量。 递福巴士…

ChessGPT:免费好用的国际象棋对弈AI机器人

对于国际象棋初学者,需要找一个对手来练棋。ChessGPT,就是一个免费好用的AI对弈机器人,非常适合新手来提升,是一个很好的练习伙伴。网站地址是:https://www.chess.com/play/computer,也有手机版app&#xf…

4.9 多协议标记交换MPLS

思维导图: 前言: **4.9 多协议标记交换MPLS笔记** 1. **定义与背景**: - MPLS (多协议标记交换) 是一种由 IETF 开发的新协议。 - “多协议”意味着 MPLS 的上层可以使用多种协议。 - 该协议综合了多家公司的技术,如 C…