python绘制箱型图+打印异常值

简介: python绘制箱型图+打印异常值

写在最前面

读取csv文件,绘制箱型图(竖着的),并打印出所有异常值。

更新conda及所有库

conda update -n base -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main conda

原文发布时间:2023-03-24 22:39:54

质量分太低,因此进行该篇博客的完善更新

原文代码

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
mpl.rcParams['font.family'] = 'Microsoft YaHei' # 设置中文字体为微软雅黑
mpl.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 读取csv文件
data = pd.read_csv('data.csv', encoding='gkb')
# 绘制箱型图
fig, ax = plt.subplots(figsize=(6,15))
ax.boxplot(data.values, vert=False)
# 设置x轴标签和标题
ax.set_yticklabels(data.columns, fontsize=12)
ax.set_xlabel('数值', fontsize=14)
ax.set_title('数据分布', fontsize=16)
# 打印异常值
for col in data.columns:
    q1 = data[col].quantile(0.25)
    q3 = data[col].quantile(0.75)
    iqr = q3 - q1
    outliers = data[(data[col] < q1 - 1.5 * iqr) | (data[col] > q3 + 1.5 * iqr)][col]
    if not outliers.empty:
        print(f'{col}的异常值:\n{outliers}\n')
plt.show()

后面补充

标题: 使用Python绘制箱型图并识别异常值

箱型图是一种常用的数据可视化工具,用于显示数据的分布、中位数、四分位数以及异常值。Python提供了多个库来绘制箱型图,其中最常用的是Matplotlib和Seaborn。本博客将介绍如何使用Matplotlib和Seaborn来绘制箱型图,并如何识别和打印异常值。

准备工作

在开始之前,确保已经安装了Matplotlib和Seaborn库。如果没有安装,可以使用以下命令安装:

pip install matplotlib seaborn

绘制箱型图

首先,让我们导入所需的库,并创建一些示例数据用于箱型图绘制:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import matplotlib as mpl
mpl.rcParams['font.family'] = 'Microsoft YaHei' # 设置中文字体为微软雅黑
mpl.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 创建示例数据
data = np.random.randn(100)

接下来,使用Matplotlib绘制简单的箱型图:

plt.figure(figsize=(6, 4))
plt.boxplot(data)
plt.title('简单箱型图')
plt.show()

上述代码创建了一个包含100个随机值的数据集,并绘制了一个简单的箱型图。箱型图显示了数据的中位数、四分位数、异常值等信息。

识别和打印异常值

要识别和打印箱型图中的异常值,我们可以使用Seaborn库来更直观地展示异常值的分布。首先,让我们导入Seaborn并使用示例数据:

import seaborn as sns
# 创建示例数据
data = np.random.randn(100)

然后,使用Seaborn的boxplot函数绘制箱型图,并将异常值标记为红色:

plt.figure(figsize=(6, 4))
sns.boxplot(y=data, color='skyblue')
sns.swarmplot(y=data, color='red')
plt.title('箱型图与异常值')
plt.show()

在上述代码中,sns.swarmplot函数用红色标记了箱型图中的异常值。这使得异常值更加明显,可以轻松识别它们。

完整代码

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import matplotlib as mpl
mpl.rcParams['font.family'] = 'Microsoft YaHei' # 设置中文字体为微软雅黑
mpl.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
# 创建示例数据
data = np.random.randn(100)
# 绘制简单的箱型图
plt.figure(figsize=(6, 4))
plt.boxplot(data)
plt.title('简单箱型图')
plt.show()
# 重新创建示例数据
data = np.random.randn(100)
# 绘制箱型图并标记异常值
plt.figure(figsize=(6, 4))
sns.boxplot(y=data, color='skyblue')
sns.swarmplot(y=data, color='red')
plt.title('箱型图与异常值')
plt.show()

总结

箱型图是一种强大的数据可视化工具,用于展示数据分布和识别异常值。Python的Matplotlib和Seaborn库使得绘制箱型图和标记异常值变得非常容易。通过这种方式,您可以更好地理解数据的分布特征,并采取适当的措施来处理异常值,以确保数据分析的准确性和可靠性。希望本博客对于学习如何绘制箱型图和识别异常值的过程有所帮助。

目录
相关文章
|
7天前
|
人工智能 Shell 开发工具
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
48 32
|
4天前
|
数据库 Python
[oeasy]python066_如何捕获多个异常_try_否则_else_exception
本文介绍了Python中`try...except...else`结构的使用方法。主要内容包括: 1. **回顾上次内容**:简要复习了`try`和`except`的基本用法,强调了异常处理的重要性。 2. **详细解释**: - `try`块用于尝试执行代码,一旦发现错误会立即终止并跳转到`except`块。 - `except`块用于捕获特定类型的异常,并进行相应的处理。 - `else`块在没有异常时执行,是可选的。 3. **示例代码**:通过具体例子展示了如何捕获不同类型的异常(如`ValueError`和`ZeroDivisionError`),并解释了异常处理
34 24
|
3月前
|
测试技术 开发者 Python
对于Python中的异常要如何处理,raise关键字你真的了解吗?一篇文章带你从头了解
`raise`关键字在Python中用于显式引发异常,允许开发者在检测到错误条件时中断程序流程,并通过异常处理机制(如try-except块)接管控制。`raise`后可跟异常类型、异常对象及错误信息,适用于验证输入、处理错误、自定义异常、重新引发异常及测试等场景。例如,`raise ValueError(&quot;Invalid input&quot;)`用于验证输入数据,若不符合预期则引发异常,确保数据准确并提供清晰错误信息。此外,通过自定义异常类,可以针对特定错误情况提供更具体的信息,增强代码的健壮性和可维护性。
|
3月前
|
Python
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
90 5
|
3月前
|
Python
在Python中,自定义函数可以抛出自定义异常
在Python中,自定义函数可以抛出自定义异常
81 5
|
3月前
|
存储 开发者 Python
自定义Python的异常
自定义Python的异常
39 5
|
4月前
|
存储 索引 Python
|
4月前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
4月前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
44 1
|
5月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包

热门文章

最新文章

推荐镜像

更多