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

目录
相关文章
|
5天前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包
|
3月前
|
存储 程序员 Python
小白也能用的代码!1行Python,把PPT转成1张长图
大家好,我是程序员晚枫。今天介绍`python-office`库的新功能:仅用1行Python代码将PPT转为单张长图。
74 11
 小白也能用的代码!1行Python,把PPT转成1张长图
|
3月前
|
数据采集 存储 Java
如何让Python爬虫在遇到异常时继续运行
构建健壮Python爬虫涉及异常处理、代理IP和多线程。通过try/except捕获异常,保证程序在遇到问题时能继续运行。使用代理IP(如亿牛云)防止被目标网站封锁,多线程提升抓取效率。示例代码展示了如何配置代理,设置User-Agent,以及使用SQLite存储数据。通过`fetch_url`函数和`ThreadPoolExecutor`实现抓取与重试机制。
如何让Python爬虫在遇到异常时继续运行
|
2月前
|
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实现深度学习模型:智能安防监控与异常检测
【7月更文挑战第26天】 使用Python实现深度学习模型:智能安防监控与异常检测
51 6
|
2月前
|
存储 Python
Python 中的用户定义异常
【8月更文挑战第23天】
22 0
|
2月前
|
前端开发 JavaScript Java
Python错误、异常和模块
本文详细介绍了Python编程中的错误和异常处理以及模块的使用方法。语法错误如遗漏引号会导致`SyntaxError`,而运行时错误如除以零则会产生`ZeroDivisionError`等异常。文章通过实例展示了如何使用`try...except`结构来捕获并处理异常,确保程序的健壮性。此外,还介绍了如何自定义异常以及主动抛出异常的方法。在模块方面,文章解释了如何创建和导入模块以重用代码,并展示了不同导入方式的特点,包括导入单个函数、全部内容等。最后提到了Python标准库的使用和查询模块内容的方法。
|
3月前
|
算法 Python
Python 大神修炼手册:图的深度优先&广度优先遍历,深入骨髓的解析
【7月更文挑战第12天】Python进阶必学:DFS和BFS图遍历算法。理解图概念,用邻接表建无向图,实现DFS和BFS。DFS适用于查找路径,BFS解决最短路径。通过实例代码加深理解,提升编程技能。
29 4
|
3月前
|
算法 Python
逆袭之路!用 Python 玩转图的 DFS 与 BFS,让数据结构难题无处遁形
【7月更文挑战第12天】图的遍历利器:DFS 和 BFS。Python 中,图可表示为邻接表或矩阵。DFS 沿路径深入,回溯时遍历所有可达顶点,适合找路径和环。BFS 层次遍历,先近后远,解决最短路径问题。两者在迷宫、网络路由等场景各显神通。通过练习,掌握这些算法,图处理将游刃有余。
52 3
|
3月前
|
存储 算法 Python
“解锁Python高级数据结构新姿势:图的表示与遍历,让你的算法思维跃升新高度
【7月更文挑战第13天】Python中的图数据结构用于表示复杂关系,通过节点和边连接。常见的表示方法是邻接矩阵(适合稠密图)和邻接表(适合稀疏图)。图遍历包括DFS(深度优先搜索)和BFS(广度优先搜索):DFS深入探索分支,BFS逐层访问邻居。掌握这些技巧对优化算法和解决实际问题至关重要。**
28 1
下一篇
无影云桌面