统计学~描述性统计实践【第二周】
程序员文章站
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,说明近似正态分布。
上一篇: 统计学习二:数据的描述性统计