大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 这篇文章介绍了如何使用Python中的matplotlib和numpy库来创建箱线图,以检测和处理数据集中的异常值。

箱线图介绍

箱线图通过绘制数据的中位数、四分位数、最大值和最小值等信息,可以帮助检测数据中的异常值。在箱线图中,超出1.5倍四分位距的数据点被视为异常值。在这里插入图片描述

箱线图代码

这段代码主要进行了以下几个操作:

  • 创建一个包含异常值的数据集。
  • 绘制这个数据集的箱线图。
  • 计算箱线图中的异常值。
  • 删除异常值。
  • 可视化删除异常值后的数据,并标出异常值。
  • 将异常值存入数组并打印出来。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

# 创建一个包含异常值的数据集
data = np.concatenate((np.random.normal(10, 2, 100), [20, 25, 30, 35, 40]))

# 绘制箱线图
fig, ax = plt.subplots()
ax.boxplot(data)

# 计算箱线图中的异常值
q1, q3 = np.percentile(data, [25, 75])
iqr = q3 - q1
low_threshold = q1 - 1.5 * iqr
high_threshold = q3 + 1.5 * iqr
outliers = data[(data < low_threshold) | (data > high_threshold)]

# 删除异常值
data = data[(data >= low_threshold) & (data <= high_threshold)]

# 可视化数据,标出异常值
fig, ax = plt.subplots()
ax.boxplot(data, showfliers=True, flierprops={'marker': 'o', 'markerfacecolor': 'red', 'markersize': 8})
ax.scatter(np.ones(len(outliers)), outliers, marker='o', color='red')

# 可视化删除后的数据
fig, ax = plt.subplots()
ax.boxplot(data)

# 将异常值存入数组并打印
removed_outliers = outliers.tolist()
print("Removed Outliers:", removed_outliers)

plt.show()

箱线图结果图

  • 原数据
    在这里插入图片描述
  • 标记后数据
    在这里插入图片描述
  • 剔除后数据
    在这里插入图片描述
相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
2月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
62 3
|
2月前
|
消息中间件 分布式计算 大数据
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
119 0
|
2月前
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
66 0
|
29天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
29天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
2月前
|
数据采集 机器学习/深度学习 算法
大数据中数据清洗
【10月更文挑战第19天】
120 2
|
2月前
|
机器学习/深度学习 XML 分布式计算
大数据的概念
【10月更文挑战第16天】
77 4
|
2月前
|
数据采集 算法 大数据
大数据中数据清洗 (Data Cleaning)
【10月更文挑战第17天】
172 1
|
2月前
|
存储 SQL 分布式计算
大数据学习
【10月更文挑战第15天】
47 1
|
2月前
|
分布式计算 大数据 Linux
大数据体系知识学习(二):WordCount案例实现及错误总结
这篇文章介绍了如何使用PySpark进行WordCount操作,包括环境配置、代码实现、运行结果和遇到的错误。作者在运行过程中遇到了Py4JJavaError和JAVA_HOME未设置的问题,并通过导入findspark初始化和设置环境变量解决了这些问题。文章还讨论了groupByKey和reduceByKey的区别。
33 1