matplotlib|箱线图

import numpy as np
import pandas as pd
def OutlierDetection(df):
    # 计算下四分位数和上四分位
    Q1 = df.quantile(q=0.25)
    Q3 = df.quantile(q=0.75)

    # 基于1.5倍的四分位差计算上下须对应的值
    low_whisker = Q1 - 1.5 * (Q3 - Q1)
    up_whisker = Q3 + 1.5 * (Q3 - Q1)

    # 寻找异常点
    kk = df[(df > up_whisker) | (df < low_whisker)]
    data = pd.DataFrame({'id': kk.index, '异常值': kk})
    return data
if __name__ == '__main__':
    # 创建数据
    data = [222, 87, 77, 92, 68, 80, 78, 84, 77, 81, 80, 80, 77, 92, 86, 76, 80, 81, 75, 77, 72, 81, 72, 84, 86, 80,
            68, 77, 87, 76, 77, 78, 92, 75, 80, 78, 123, 3, 223, 232]
    df = pd.DataFrame(data, columns=['value'])
    df=df.iloc[:,0]
    result=OutlierDetection(df)
    print('箱线图检测到的异常值如下---------------------')
    print(result)

%matplotlib notebook
import matplotlib.pyplot as plt
fig,axes = plt.subplots()
df.plot(kind='box',ax=axes)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值