集中趋势
离散趋势
分布形状
数据的读入
基本数据的描述
包括平均数,标准差,最小、最大值,四分位数,中位数。
#求众数
counts = np.bincount(data['data'])
#返回众数
np.argmax(counts)
#众数为:
```python
#求解四分位差
a=np.percentile(data, (25, 50, 75), interpolation='midpoint')
Q=a[2]-a[0]
Q
#四分位差 为:
结果如下所示:
#求方差
#求方差
ave=data.mean()
ave
su=0
for i in data['data']:
su+=pow(abs(ave-i),2)
su=su/(data['data'].count()-1)
s=np.sqrt(su)
print("方差为:",su)
print("标准差为:",s)
#方差为:
#标准差为:
结果如下所示:
#求异纵比率
#首先求众数的频数
num_M=data[data['data']==1].count()
print("众数的频数为:",num_M)
#然后非众数的频数
num_pM=data['data'].count()-num_M
print("非众数的频数为",num_pM)
V=1-num_M/data['data'].count()
print("异纵比率为:",V)
结果如下:
上述结果可以看出异纵比率的值是0.7925,说明数值较大,说明非众数的频数越高。
#求标准分数
z=[]
for i in data['data']:
a=(i-ave)/s
z.append(a)
print("标准分数位:",z)
结果如下所示:
#求离散系数
v=s/ave
print("离散系数为:",v)
上述结果可知离散系数值为0.636915,说明离散系数不是特别大,说明数据的离散程度没有特别大。
#求偏态系数
n=data['data'].count()
s3=0
for i in data['data']:
s3+=pow(i-ave,3)
sk=(n*s3)/((n-1)*(n-2)*pow(s,3))
print("偏态系数为:",sk)
结果如下所示:
从上述结果可知,偏态系数值为0.592859,不为0,说明数据分布是非对称性的。
#求峰态系数
s4=0
s2=0
for i in data['data']:
s4+=pow(i-ave,4)
s2+=pow(i-ave,2)
k=(n*(n+1)*s4-3*(n-1)*pow(s2,2))/((n-1)*(n-2)*(n-3)*pow(s,4))
print("峰态系数为:",k)
结果如下所示:
从上述结果可知,峰态系数值为-0.623715,由于K小于0,说明电脑销售量的分布于正态分布相比略有一些平峰。