NumPy直接提供的统计函数 直接用 np.<函数名> 来调用
函数名 | 说明 |
---|---|
sum(a,axis=None) | 根据给定轴axis计算数组a相关元素之和,axis整数或元组 |
mean(a,axis=None) | 根据给定轴axis计算数组a相关元素的期望,axis整数或元组 |
average(a,axis=None,weights=None) | 根据给定轴axis计算数组a相关元素的加权平均值 |
std(a,axis=None) | 根据给定轴axis计算数组a相关元素的标准差 |
var(a,axis=None) | 根据给定轴axis计算数组a相关元素的方差 |
axis=None 是统计函数的标配参数 默认情况下,可以不输入轴的参数,就对a中的所有参数进行运算
对于二维数组而言
axis=0 沿着纵轴进行操作
axis=1 沿着横轴进行操作
对于三维或多维数组而言
axis=i 则numpy沿着第i个下标变化的方向进行操作
具体理解如下:
import numpy as np
a = np.arange(30).reshape((2,3,5)) # 创建一个从0到29的,2块,3行,5列ndarray数组
>>> [[[ 0 1 2 3 4] #对应的下标 [[[000 001 002 003 004]
[ 5 6 7 8 9] # [010 011 012 013 014]
[10 11 12 13 14]] # [020 021 022 023 024]]
[[15 16 17 18 19] # [[100 101 102 103 104]
[20 21 22 23 24] # [110 111 112 113 114]
[25 26 27 28 29]]] # [120 121 122 123 124]]]
# axis = i 则numpy沿着第i个下标变化的方向进行操作
b = np.sum(a,axis = 0) # axis = 0 按照第0个下标变化的方向进行 (创建的块数)
>>> [[15 17 19 21 23] # [[000+100 001+101 002+102 003+103 004+104]
[25 27 29 31 33] # [010+110 011+111 012+112 013+113 014+114]
[35 37 39 41 43]] # [020+120 021+121 022+122 023+123 024+124]]
c = np.sum(a,axis = 1) # axis = 1 按照第1个下标变化的方向进行 (行)
>>> [[15 18 21 24 27] # [[000+010+020 001+011+021 002+012+022 003+013+023 004+014+024]
[60 63 66 69 72]] # [100+110+120 101+111+121 102+112+122 103+113+123 104+114+124]]
d = np.sum(a,axis = 2) # axis = 2 按照第2个下标变化的方向进行 (列)
>>> [[ 10 35 60] # [[000+001+002+003+004 010+011+012+013+014 020+021+022+023+024]
[ 85 110 135]] # [100+101+102+103+104 110+111+112+113+114 120+121+122+123+124]]