欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

统计学~描述性统计实践【第二周】

程序员文章站 2022-07-11 17:58:53
...

前言

上周从理论的方面学习了统计学的基本知识,这周基于Python的pandas、numpy等一系列数据分析的框架利器进行实践操作。

实践

import numpy  as np 
import pandas as pd
from scipy import stats as sts

#定义10个元素的随机数
array = np.random.randint( 1,high = 100, size = 10 ) 
# array = [1,2,2,3,3,6,7,8,9,10]
print("原数据:",array)
print("排序后:",np.sort(array))

# print(pd.DataFrame(array))
parray = pd.Series(array)

#求众数
print("众数:",parray.mode().values)


#求中位数
print("中位数:",parray.median())

#求均值
print("均值:",parray.mean())

#求四分位数
print("第一四分位数:",parray.quantile(0.25))
print("第二四分位数:",parray.quantile(0.5))
print("第三四分位数:",parray.quantile(0.75))

#求极差
print("极差:",np.ptp(array))

#求平均差
print("平均差:",abs(parray-parray.mean()).mean())

#求方差
print("方差:",parray.var())

#求标准差
print("标准差",parray.std())

#求四分位差
print("四分位差:",parray.quantile(0.75)-parray.quantile(0.25))

#求异众比率
print("异众比率:", (len(parray)-sts.mode(parray)[1][0])/len(parray) )

#求离散系数
print("离散系数:",parray.std()/parray.mean())

#求偏态系数
print("偏态系数:",sts.skew(array))

#求峰态系数
print("峰态系数:",sts.kurtosis(array))

输出结果:

原数据: [22 28 94 67 94 60 35 22 36 62]
排序后: [22 22 28 35 36 60 62 67 94 94]
众数: [22 94]
中位数: 48.0
均值: 52.0
第一四分位数: 29.75
第二四分位数: 48.0
第三四分位数: 65.75
极差: 72
平均差: 23.4
方差: 759.7777777777778
标准差 27.564066785904032
四分位差: 36.0
异众比率: 0.8
离散系数: 0.5300782074212314
偏态系数: 0.42631663088056776
峰态系数: -1.205889425616582
[Finished in 4.5s]

分析结果:

四分位差偏小,表示中间数据较集中。
异众比率为0.8,表明众数代表性较低
偏态系数大于0,均值在中位数右侧,曲线呈右偏,接近0,说明大致对称分布。
峰态系数小于0,但接近0,说明近似正态分布。