人工智能数据集处理——数据清理2

news2024/9/23 11:16:00

目录

异常值的检测与处理

一、异常值的检测

1、使用3σ准则检测异常值

定义一个基于3σ准则检测的函数,使用该函数检测文件中的数据,并返回异常值

 2、使用箱形图检测异常值

根据data.xlsx文件中的数据,使用boxplot()方法绘制一个箱型图

定义一个从箱型图形中获取异常值的函数,并返回data.xlsx文件中数据的异常值及其对应的索引

二、异常值的处理

1、删除异常值

使用drop()方法根据指定的行索引中读取的data.xlsx 文件的数据中删除异常值

异常值被删除后,可以再次调佣定义值的three_sigma()函数进行检测,以确保异常值全部删除

2、替换异常值

 使用replace()方法从data.xlsx文件读取的数据的异常值


异常值的检测与处理

一、异常值的检测

1、使用3σ准则检测异常值

定义一个基于3σ准则检测的函数,使用该函数检测文件中的数据,并返回异常值

import numpy as np
import pandas as pd


def three_sigma(ser):
    """

    ser参数:被检测的数据,接收DataFrom的一列数据
    返回: 异常值及其对应的行索引
    """
    # 计算平均值
    mean_data = ser.mean()
    # 计算标准差
    std_data = ser.std()
    # 小于 μ - 3σ 或 μ + 3σ的数值均为异常值
    rule = (mean_data - 3 * std_data > ser) | (mean_data + 3 * std_data < ser)
    # 返回异常值的行索引
    index = np.arange(ser.shape[0])[rule]
    # 获取异常值
    outliers = ser.iloc[index]
    return outliers


# 读取data.xlsx文件
execl_data = pd.read_excel('C:/py数据/第5章/data.xlsx')
# 对value列进行异常值检测
print(three_sigma(execl_data['value']))

121    13.2
710    13.1
Name: value, dtype: float64

 2、使用箱形图检测异常值

根据data.xlsx文件中的数据,使用boxplot()方法绘制一个箱型图

import pandas as pd
import matplotlib.pyplot as plt

execl_data = pd.read_excel('C:/py数据/第5章/data.xlsx')
# print(execl_data)
plt.boxplot(execl_data['value'], sym='rs')
plt.show()

 

定义一个从箱型图形中获取异常值的函数,并返回data.xlsx文件中数据的异常值及其对应的索引

import pandas as pd
import numpy as np


def box_outliers(ser):
    # 对待检测的数集进行排序
    global Q3, Q1
    new_ser = ser.sort_values()
    # 判断数据的总数量是奇数还是偶数
    if new_ser.count() % 2 == 0:
        # 计算Q3,Q1,IQR
        Q3 = new_ser[int(len(new_ser) / 2):].median()
        Q1 = new_ser[:int(len(new_ser) / 2)].median()
    elif new_ser.count() % 2 != 0:
        Q3 = new_ser[int((len(new_ser) - 1) / 2):].median()
        Q1 = new_ser[:int((len(new_ser) - 1) / 2)].median()
    IQR = round(Q3 - Q1, 1)
    rule = (round(Q3 + 1.5 * IQR, 1) < ser) | (round(Q1 - 1.5 * IQR, 1) > ser)
    index = np.arange(ser.shape[0])[rule]
    # 获取异常值及其索引
    outliers = ser.iloc[index]
    return outliers


execl_data = pd.read_excel('C:/py数据/第5章/data.xlsx')
print(box_outliers(execl_data['value']))

0      12.7
121    13.2
255    12.7
353    13.0
694    12.8
710    13.1
724    12.9
Name: value, dtype: float64

二、异常值的处理

1、删除异常值

使用drop()方法根据指定的行索引中读取的data.xlsx 文件的数据中删除异常值

# 根据行索引删除异常值
execl_data = pd.read_excel('C:/py数据/第5章/data.xlsx')
execl_data.drop([121, 710])

异常值被删除后,可以再次调佣定义值的three_sigma()函数进行检测,以确保异常值全部删除

clean_data = execl_data.drop([121,710])
# 再次检测数据中是否有异常值
print(three_sigma(clean_data['value']))

Series([], Name: value, dtype: float64)

2、替换异常值

替换异常值既可以是固定数值,也可以计算得出的值

 使用replace()方法从data.xlsx文件读取的数据的异常值

replace_data = execl_data.replace({13.2:10.2,13.1:10.5})
# 根据行索引获取替换后的值
print(replace_data.loc[121])
print(replace_data.loc[710])

Unnamed: 0    121.0
value          10.2
Name: 121, dtype: float64
Unnamed: 0    710.0
value          10.5
Name: 710, dtype: float64

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

headscale专有网络及其ACL控制

如何使用 Headscale ( Tailscale 开源版 ) 快速搭建一个私有专属的 P2P 内网穿透网络 内网穿透简述 由于国内网络环境问题, 普遍家庭用户宽带都没有分配到公网 IP(我有固定公网 IP, 嘿嘿); 这时候一般我们需要从外部访问家庭网络时就需要通过一些魔法手段, 比如 VPN、远程软…

未来的编程语言「GitHub 热点速览」

作者&#xff1a;HelloGitHub-小鱼干 又一个编程语言火了&#xff0c;不算新&#xff0c;因为它已经开发了一段时间。不过在本周 Hacker News 上风头十足&#xff0c;DreamBerd 除了有点意思的改 ; 分隔符为 !&#xff0c;之外&#xff0c;它还能让你用问号来标注一段你也不确定…

通过adb获取ANR日志

1、命令行输入&#xff1a;adb bugreport 2、等待日志下载完毕&#xff0c;解压bugreport文件 3、进入FS-->data-->anr

【架构治理工具】在代码存储库中记录软件架构

Markdown 是一种标准的简单语法&#xff0c;用于创建具有专业外观的文档。它比 HTML 更简单&#xff0c;无需专门的编写编辑器即可进行管理。Git配置管理工具也支持markdown格式。在 Git 环境中&#xff0c;markdown 一般用于项目的简单介绍和构建说明。&#xff08;自述文件&a…

CSS 渐变

CSS 渐变 01 CSS 渐变基础 颜色的几种表示 渐变的几种方式 02 特殊的渐变举例 水平渐变 垂直渐变&#xff08;矩形四个点三种颜色&#xff09; 线性渐变只能在一个方向上渐变&#xff0c;要想实现这种渐变&#xff0c;可以使用两个标签进行叠加&#xff1a;一个负责水平…

npm运行没反应的问题

npm 遇到的问题 我们在经常切换node版的时候会遇到npm命令失效的问题。 我们不管运行npm的什么命令都是一闪然后就没有任何输出&#xff0c;效果如下&#xff1a; 主要原因是因为npm config set prefix 改包的路径出问题了 解决方法是&#xff1a;打开系统盘找到下列目录&am…

水力发电在可再生能源中的地位和潜力

可再生能源的发展已成为全球能源领域的重要趋势&#xff0c;而作为最古老、最成熟的可再生能源形式之一&#xff0c;水力发电在能源供应和环境保护方面发挥着重要作用。本文将深入探讨水力发电在可再生能源中的地位和潜力&#xff0c;包括其技术特点、发展趋势以及面临的挑战和…

多线程/std::thread线程退出方式详解

文章目录 概述不 join 也不 detach执行了detach并不能万事大吉建议使用 join 函数 概述 这里默认你已经了解 std::thread 类的基本使用&#xff0c;和WinAPI多线程编程中 “如何优雅的退出线程” 等相关知识。阅读该文前&#xff0c;建议先看看《多线程 /C 11 std::thread 类深…

考场作弊行为自动抓拍告警算法 yolov7

考场作弊行为自动抓拍告警系统通过yolov7python网络模型算法&#xff0c;考场作弊行为自动抓拍告警算法实时监测考场内所有考生的行为&#xff0c;对考生的行为进行自动抓拍&#xff0c;并分析判断是否存在作弊行为。YOLOv7 的发展方向与当前主流的实时目标检测器不同&#xff…

ChatGLM2本地部署的实战方案

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

PHP wangEditor插件打包(包含公式、上传附件)完整版

注意&#xff1a;js,css文件引用路径需要修改 先看效果 index.html文件 <!-- 新版编辑器 --> <script type"text/javascript" src"js/editor/dist/index.js"></script> <link href"js/editor/dist/css/style.css" rel&qu…

Mysql_5.7下载及安装(CentOS7)

文章目录 安装MySQL的几种方式一、 使用docker安装MySQL1.1 卸载旧版本&#xff08;如果存在docker&#xff0c;需先卸载旧版本&#xff09;1.2 安装Docker使用存储库安装(推荐使用) 1.3 安装mysql5.7.35(普通用户下)*** 安装MySQL:5.7.35镜像*** 进入容器中查看配置文件以及数…

Vue----Vue条件渲染

【原文链接】Vue----Vue条件渲染 &#xff08;1&#xff09;在components文件夹下新建一个Ifdemo.vue文件。 &#xff08;2&#xff09;然后在文件中编写如下内容&#xff0c;即写入一个标题 <template><h3>条件渲染</h3> </template> <script&…

Go语言开发者的Apache Arrow使用指南:数据类型

如果你不是做大数据分析的&#xff0c;提到Arrow这个词&#xff0c;你可能会以为我要聊聊那个箭牌卫浴或是箭牌口香糖(注&#xff1a;其实箭牌口香糖使用的单词并非Arrow)。其实我要聊的是Apache的一个顶级项目&#xff1a;Arrow[1]。 为什么要聊这个项目呢&#xff1f;说来话长…

【吴恩达deeplearning.ai】基于ChatGPT API打造应用系统(上)

以下内容均整理来自deeplearning.ai的同名课程 Location 课程访问地址 DLAI - Learning Platform Beta (deeplearning.ai) 一、大语言模型基础知识 本篇内容将围绕api接口的调用、token的介绍、定义角色场景 调用api接口 import os import openai import tiktoken from dote…

使用 MediaPipe 身体跟踪构建不良身体姿势检测和警报系统

文末附实现相关源代码下载链接 正确的身体姿势是一个人整体健康的关键。然而,保持正确的身体姿势可能很困难,因为我们经常忘记这一点。这篇博文将引导您完成为此构建解决方案所需的步骤。最近,我们在使用 MediaPipe POSE 进行身体姿势检测方面玩得很开心。 使用 MediaPipe P…

el-form复杂表单嵌套el-table实现复制字段并校验删除等功能

功能&#xff1a;表单项全部复制&#xff0c;表单项根据el-table选择后复制部分内容&#xff0c;做所有表单项的校验&#xff0c;部分表单项删除功能 点击添加饮品爱好后弹出el-table表单 选择好后点确定如下图&#xff0c;并且实现删除功能&#xff0c;删除仅仅删除饮品和爱好…

Excel 插入对象选PDF文件后,跳出图像数据不充分对话框,怎么解决

环境&#xff1a; excel 2021 Win10 专业版 问题描述&#xff1a; Excel 插入对象选PDF文件后&#xff0c;跳出图像数据不充分对话框 解决方案&#xff1a; 1.打开文件-选项-高级-不压缩文件中的图像&#xff0c;前面打勾 2.重启excel&#xff0c;再此插入解决&#xf…

Kears-4-深度学习用于计算机视觉-使用预训练的卷积网络

0. 说明&#xff1a; 本篇学习记录主要包括&#xff1a;《Python深度学习》的第5章&#xff08;深度学习用于计算机视觉&#xff09;的第3节&#xff08;使用预训练的卷积神经网络&#xff09;内容。 相关知识点&#xff1a; 预训练模型的复用方法&#xff1b;预训练网络 (p…