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

箱线图介绍

箱线图通过绘制数据的中位数、四分位数、最大值和最小值等信息,可以帮助检测数据中的异常值。在箱线图中,超出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()

箱线图结果图

  • 原数据
    在这里插入图片描述
  • 标记后数据
    在这里插入图片描述
  • 剔除后数据
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZZY_dl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值