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