本文主要是介绍[Python数据预处理] 异常值检测 (箱型图) 统计量分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 箱型图分析
1、对数据没有作任何限制性要求(如服从某种特定的分布形式),它只是真实直观地表现数据分布的本来面貌;
2、判断异常值的标准以四分位数和四分位距为基础,四分位数具有一定的鲁棒性:多达25%的数据可以变得任意远而不会很大地扰动四分位数,所以异常值不能对这个标准施加影响。
数据示例
代码实现
#-*- coding: utf-8 -*-
import pandas as pdcatering_sale = '../data/catering_sale.xls' #餐饮数据
data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列import matplotlib.pyplot as plt #导入图像库
plt.rcParams['font.sans-serif'] = ['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号plt.figure() #建立图像
p = data.boxplot() #画箱线图,直接使用DataFrame的方法
plt.show() #展示箱线图
箱型图结果
2. 统计量分析
data = data[(data[u'销量'] > 400)&(data[u'销量'] < 5000)] #过滤异常数据
statistics = data.describe() #保存基本统计量statistics.loc['range'] = statistics.loc['max']-statistics.loc['min'] #极差
statistics.loc['var'] = statistics.loc['std']/statistics.loc['mean'] #变异系数
statistics.loc['dis'] = statistics.loc['75%']-statistics.loc['25%'] #四分位数间距print(statistics)
从命令行可以看到下面的输出:
>>>statistics销量
count 195.000000
mean 2744.595385
std 424.739407
min 865.000000
25% 2460.600000
50% 2655.900000
75% 3023.200000
max 4065.200000>>> statistics销量
count 195.000000
mean 2744.595385
std 424.739407
min 865.000000
25% 2460.600000
50% 2655.900000
75% 3023.200000
max 4065.200000
range 3200.200000
var 0.154755
dis 562.600000
这篇关于[Python数据预处理] 异常值检测 (箱型图) 统计量分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!