前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >纯干货分享!Python 大数据集在正态分布中的应用(附源码)

纯干货分享!Python 大数据集在正态分布中的应用(附源码)

作者头像
Wu_Candy
发布2022-07-05 14:49:42
1.7K0
发布2022-07-05 14:49:42
举报
文章被收录于专栏:无量测试之道
前言

在阅读今天分享的内容之前,我们先来简单了解下关于数学中的部分统计学及概率的知识。

首先,正态分布是最重要的一种概率分布,正态分布(Normal distribution)也称高斯分布(Gaussian distribution),具体详细的介绍可自行网上查阅资料;

其次,如下图中所示的:分位数中位数众数等;

再者,就是今天要重点介绍的箱型图,如下图所示

待会要分享的 Python 程序就是对箱型图中上下边缘值的计算实现

通过下图所示,可初步了解下正态分布图的分布状况。

图中所示的百分比即数据落入该区间内的概率大小,由图可见,在正负一倍的sigmam 内,该区间的概率是最大的。达到34.1%,而超过正负3倍的 sigma 以外的区间概率是最小的,只有0.1%。所以通常会使用 3sigma 作为分界节点。

箱型图上下限取值公式

箱型图上下限取值为什么要使用以下计算公式

IQR = Q3 -Q1

上边缘 = Q3(上四分位数) + 1.5IQR

下边缘 = Q1(下四分位数) - 1.5IQR

原因在于Q3(上四分位数) + 1.5IQR与 Q1(下四分位数) - 1.5IQR比较接近于正负3sigma的界限值。

如下图所示:

Python 实现上下边缘值计算
需求背景

公司网站上某个指标数据需要每天检查下展示给用户看到的数据是否正常,且这个数据每天都会随实际的线下营业情况而不同,所以不能简单判断是否为一固定值。

经过分析可以采用箱型图的上下边缘值来做判断,正常情况下应该是服从正态分布的,即落入正负 3sigma 的区间内,如果没有落入该区间程序则报警反馈页面数据展示异常,进行人工干预排查。

Python 代码实现

该实现方法中共需要传递4个参数:

(1)、indicators_path:excel文件的路径

(2)、sheet_name:excel文件路径下对应的sheet的名称

(3)、all_data_list:数据列表,相当于Python中的list

(4)、singal_data:all_data_list中的单个元素

下图为 excel 中的大量数据集:

重点代码行解读

Line3-6:读取 excel 表中每列数据并转成 list 集合

Line7:删除 excel 中每列最后一行的值

Line9-10:判断如果某列的值完全一样,则赋值一个固定的字符串,供调用方判断时使用

Line12:对 list 中的所有数据进行反转,且由小到大的排序

Line13-17:目的是将 list 中除了为“nan”的数据全部放置于另一个list中

Line20-24:利用numpy函数求出箱型图中的四分之一和四分之三分位的值

Line25-30:利用前面所讲到的公式求出箱型图中上下边缘的值,也是该方法的终极目的

使用方法

调用方在调用该函数时只需按规则传入对应的参数,拿到该方法返回的上下边缘值对页面上返回的数据进行区间判断即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无量测试之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Python 实现上下边缘值计算
    • 需求背景
    • Python 代码实现
      • 重点代码行解读
        • 使用方法
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档