Pandas+Matplotlib 箱式图异常值分析示例

yipeiwu_com6年前Python基础

我就废话不多说了,直接上代码吧!

# -*- coding: utf-8 -*-
 
import pandas as pd
import matplotlib.pyplot as plt
 
catering_sale = '../data/catering_sale.xls'
data = pd.read_excel(catering_sale, index_col=u'日期') #指定日期列为索引,data类型为DataFrame
 
plt.rcParams['font.sans-serif'] = ['SimHei']  #指定字体为黑体
plt.rcParams['axes.unicode_minus'] = False  #显示负号
 
plt.figure()
p = data.boxplot(return_type='dict')  #画箱式图
 
x = p['fliers'][0].get_xdata()  #fliers为异常值标签,get_xdata()与get_ydata()用来获取横纵坐标数组
y = p['fliers'][0].get_ydata()
y.sort()
 
#使用annotate添加注释,xy表示标注点坐标, xytext表示注释坐标
for i in range(len(x)):
  if i > 0:
    plt.annotate(y[i], xy=(x[i], y[i]), xytext=(x[i]+0.05 - 0.8/(y[i]-y[i-1]), y[i]))
  else:
    plt.annotate(y[i], xy=(x[i], y[i]), xytext=(x[i]+0.08, y[i]))
 
plt.show()
 
 
​

以上这篇Pandas+Matplotlib 箱式图异常值分析示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pytorch的batch normalize使用详解

torch.nn.BatchNorm1d() 1、BatchNorm1d(num_features, eps = 1e-05, momentum=0.1, affine=True) 对于...

python迭代dict的key和value的方法

迭代dict的key和value 我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value?答案是肯定的。 首先,我们看看 di...

python3利用Dlib19.7实现人脸68个特征点标定

python3利用Dlib19.7实现人脸68个特征点标定

0.引言 利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68点标定,利用OpenCv进行图像化处理,在人脸上画出68个点,...

pandas 快速处理 date_time 日期格式方法

当数据很多,且日期格式不标准时的时候,如果pandas.to_datetime 函数使用不当,会使得处理时间变得很长,提升速度的关键在于format的使用。下面举例进行说明: 示例数据:...

python海龟绘图实例教程

本文以实例形式介绍了python turtle模块即海龟绘图的使用方法,对于需要进行图形编程的朋友相信会有一定的借鉴价值。 python turtle模块简介:  python...