zoukankan      html  css  js  c++  java
  • 异常值分析

    异常值分析

      异常值分析是检验数据是否有录入错误以及含有不合常理的数据。忽视异常值的存在是十分危险的,不加剔除地把异常值包括进数据的计算分析过程中,对结果会产生不良影响,忽视异常值的出现,分析其产生的原因,常常成为发现问题进而改进决策的契机。

       下面分析餐饮数据的异常值

      餐饮数据主要包括日期值和销售值,其中通过分析,发现销售值中有缺失值,下面通过箱线图来展示缺失值。

     1 #-*- coding: utf-8 -*-
     2 import pandas as pd
     3 
     4 data=pd.read_csv('catering_sale.csv')
     5 print(data)
     6 import matplotlib.pyplot as plt #导入图像库
     7 plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
     8 plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
     9 
    10 plt.figure() #建立图像
    11 p = data.boxplot(return_type='dict') #画箱线图,直接使用DataFrame的方法
    12 x = p['fliers'][0].get_xdata() # 'flies'即为异常值的标签
    13 y = p['fliers'][0].get_ydata()
    14 y.sort() #从小到大排序,该方法直接改变原对象
    15 
    16 #用annotate添加注释
    17 #其中有些相近的点,注解会出现重叠,难以看清,需要一些技巧来控制。
    18 #以下参数都是经过调试的,需要具体问题具体调试。
    19 for i in range(len(x)): 
    20   if i>0:
    21     plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i]))
    22   else:
    23     plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.08,y[i]))
    24 
    25 plt.show() #展示箱线图

      通过箱线图的分析,可以判断在箱线图外的点有7个,再结合实际的情况,需要讲有些符合条件的点加到其中,然后进行后续处理。

  • 相关阅读:
    【WebSocket】Qt客户端
    【WebSocket】入门教程(JS)
    【C++ 压缩&解压缩 开源库】ZIP入门使用总结
    【C++ JSON 开源库】nlohmann入门使用总结
    OSS C++ SDK使用总结
    解决Element中table文字过多换行问题
    Xmind安装报错
    Object.assign()
    mousedown、mouseup、click
    el-table 动态控制表格高度
  • 原文地址:https://www.cnblogs.com/wangmengzhu/p/8177932.html
Copyright © 2011-2022 走看看