美文网首页
数据基本情况之描述性统计分析python

数据基本情况之描述性统计分析python

作者: 吵吵人 | 来源:发表于2022-02-07 20:58 被阅读0次
  1. 集中趋势:均值、中位数、众数
  2. 离散程度:方差(标准差),IQR=Q3-Q1 (中间 50%数据的范围)
  3. 分布形态描述:核密度分布图、改进箱图

以下例子data为某一服务的响应时长数据,浮点型。

import numpy as np

# 1. 集中趋势:均值、中位数、众数
m=np.mean(data)
print('均值:',m)
md=np.median(data)
print('中位数:',md)


# 2.离散程度:方差、标准差,IQR=Q3-Q1(中间 50%数据的范围) 
v=np.var(data)
print('方差:',v)
s=np.std(data)
print('标准差:',s)

Percentile = np.percentile(data,[0,25,50,75,100])
IQR = Percentile[3] - Percentile[1]
print('Q1:',Percentile[1])
print('Q2:',Percentile[2])
print('D1:',Percentile[3])
print('IQR:',IQR)

U1 = Percentile[3] + IQR*1.5
U2 = Percentile[3] + IQR*3.0
D1 = Percentile[1] - IQR*1.5
D2 = Percentile[1] - IQR*3.0
print('上界可能异常值:',U1)
print('上界异常值:',U2)
print('下界可能异常值:',D1)
print('下界异常值:',D2)

# 3. 分布形态:改进箱图、核密度分布图
df_select=df.loc[(df['distance']>0)&(df['distance']<U2)]
print(df_select)
data2=df_select['distance']

fig1 = plt.figure()
sns.boxplot(y=data2)

fig2 = plt.figure()
ax=sns.kdeplot(data2,shade=True,color="g" )
x, y = ax.get_children()[0].get_paths()[0].vertices.T
maxid = y.argmax()
print("众数",x[maxid])

时长本不应该是负数,所以去掉负数。众数 0.148。5s未响应基本上属于服务异常


箱形图

去掉异常值后的密度分布情况


核密度分布情况

参考链接:https://wenku.baidu.com/view/f084924d11a6f524ccbff121dd36a32d7375c795.html

相关文章

网友评论

      本文标题:数据基本情况之描述性统计分析python

      本文链接:https://www.haomeiwen.com/subject/vbtvkrtx.html