当标准差不为0且不为接近于0的数时,z-分数是有意义的,使用NumPy计算z-分数:
from numpy import mean, std
#计算第一个值的z-分数
(data[0]-mean(data)) / std(data)5.相关程度
有两组数据时,我们关心这两组数据是否相关,相关程度是多少。用协方差(cov)和相关系数(CORRCOEF)来衡量相关程度:


协方差的绝对值越大表示相关程度越高,协方差为正值表示正相关,负值为负相关,0为不相关。相关系数基于协方差,但进行了无量纲处理。使用NumPy计算协方差和相关系数:
from numpy import array, cov, corrcoef
data = array([data1, data2])
#计算两组数的协方差
#参数bias=1表示结果需要除以N,否则只计算了分子部分
#返回结果为矩阵,第i行第j列的数据表示第i组数与第j组数的协方差。对角线为方差
cov(data, bias=1)
#计算两组数的相关系数
#返回结果为矩阵,第i行第j列的数据表示第i组数与第j组数的相关系数。对角线为1
corrcoef(data)6.利用Matplotlib画图举例
利用Python画图需要使用Matplotlib库。
【例1】
import matplotlib.pyplot as plt
创建一组数据,该数据为30个中国CBA球员的体重,其中“\”表示换行接着写。

(1)直方图画法
· 找出最大值与最小值,确定数据的范围。
· 整理数据,将数据分为几组(尽量使每组都有数据),计算频数分布表。
· 根据频数分布表画出频数直方图。频数为纵坐标,分组类别为横坐标。通过直方图可以对数据分布有一个直观的了解。
· 除了频数直方图,还有频率直方图外。频率直方图的纵坐标为频率/组距。频率=频数/总数,组距是分组的极差。
from pylab import mpl #显示中文设置
mpl.rcParams['font.sans-serif'] = ['SimHei']#显示中文设置
#创建频数分布直方图
#weight为待绘制的定量数据,bins=5表示将数据划分为5个区间
#normed=False时为频数分布直方图
plt.hist(weight,bins=5,normed=False)
#x轴区间范围
plt.xlabel('weight')
plt.ylabel('frequency')
plt.title('CHINA CBA Histogram of weight frequency distribution of players')
plt.show()
图1所示为频数分布直方图。
