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库使得绘制箱型图和标记异常值变得非常容易。通过这种方式,您可以更好地理解数据的分布特征,并采取适当的措施来处理异常值,以确保数据分析的准确性和可靠性。希望本博客对于学习如何绘制箱型图和识别异常值的过程有所帮助。

目录
相关文章
|
17天前
|
存储 索引 Python
|
18天前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
29天前
|
设计模式 安全 JavaScript
Python学习八:面向对象编程(下):异常、私有等
这篇文章详细介绍了Python面向对象编程中的私有属性、私有方法、异常处理及动态添加属性和方法等关键概念。
20 1
|
2月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
1月前
|
开发者 索引 Python
Python常见的异常总结
Python 中的异常是一个非常广泛的主题,因为它包含许多内置的异常类型,这些类型可以处理各种运行时错误。
21 0
|
4月前
|
存储 程序员 Python
小白也能用的代码!1行Python,把PPT转成1张长图
大家好,我是程序员晚枫。今天介绍`python-office`库的新功能:仅用1行Python代码将PPT转为单张长图。
78 11
 小白也能用的代码!1行Python,把PPT转成1张长图
|
4月前
|
数据采集 存储 Java
如何让Python爬虫在遇到异常时继续运行
构建健壮Python爬虫涉及异常处理、代理IP和多线程。通过try/except捕获异常,保证程序在遇到问题时能继续运行。使用代理IP(如亿牛云)防止被目标网站封锁,多线程提升抓取效率。示例代码展示了如何配置代理,设置User-Agent,以及使用SQLite存储数据。通过`fetch_url`函数和`ThreadPoolExecutor`实现抓取与重试机制。
如何让Python爬虫在遇到异常时继续运行
|
4月前
|
机器学习/深度学习 运维 监控
使用Python实现深度学习模型:智能安防监控与异常检测
【7月更文挑战第26天】 使用Python实现深度学习模型:智能安防监控与异常检测
60 6
|
3月前
|
API C++ Python
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
【Azure 应用服务】Python fastapi Function在Azure中遇见AttributeError异常(AttributeError: 'AsgiMiddleware' object has no attribute 'handle_async')
|
3月前
|
存储 Python
Python 中的用户定义异常
【8月更文挑战第23天】
29 0