本文的主要内容是基于中国大学mooc(慕课)中的“Python数据分析与可视化”课程进行整理和总结。
常用统计函数(1)
sum(a,axis=None):根据给定轴计算数组a的相关元素之和,axis整数或元组;
mean(a,axis=None):根据给定轴计算数组a的相关元素的期望,axis整数或元组;
average(a,axis=None,weights=None):根据给定轴计算数组a的相关元素的加权平均值,axis整数或元组;
std(a,axis=None):根据给定轴计算数组a的相关元素的标准差;
var(a,axis=None):根据给定轴计算数组a的相关元素的方差;
axis=None是统计函数的标配参数,默认为None表示对数组中所有元素执行某种统计操作。
举例:
a = np.arange(15).reshape(3,5)
a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14]])
np.sum(a)
105
np.mean(a,axis=0)
array([5., 6., 7., 8., 9.])
np.average(a,axis=0,weights=[10,5,1])
array([2.1875, 3.1875, 4.1875, 5.1875, 6.1875])
根据加权平均的定义可知第一个元素2.1875=(010+55+10*1)/(10+5+1)
np.std(a)
4.320493798938574
np.var(a)
18.666666666666668
常用统计函数(2)
min(a),max(a):计算数组a中的最大值和最小值;
argmin(a),argmax(a):计算数组a中最大值和最小值降一维后的下标;
unravel_index(index,shape):根据shape将一维下标index转换成为多维下标;
ptp(a):计算数组a中元素最大值与最小值之差;
median(a):计算数组a中元素的中位数(中值);
a = np.arange(15,0,-1).reshape(3,5)
a
array([[15, 14, 13, 12, 11],
[10, 9, 8, 7, 6],
[ 5, 4, 3, 2, 1]])
np.max(a)
0
np.unravel_index(np.argmax(a),a.shape)
(0, 0)
可以看到,使用np.max(a)得到的最大元素索引是原数组a扁平化变为一维数数组之后的元素索引,配合使用np.unravel_index()方法可以得到数组a的目标元素值的二维索引。
np.ptp(a)
14
np.median(a)
8.0
此处中位数的运算又公式求得,结果为浮点数。