介绍几个基础数组统计方法:
1、 sum():沿着轴向计算所有原色的累和,0长度的数组累和为0
import numpy as np arr = np.array([[3,3],[1,9],[4,8]]) print(arr) print(arr.mean(1))# axis=1的时候行平均值 0的时候计算列平均值(书本112页有错误) 结果 [[3 3] [1 9] [4 8]] -------- [3. 5. 6.]
2、mean():求数学平均,0长度的数组平均值为NaN
print(arr.sum(1)) #axis=1的时候行和 0 的时候计算列和 print('--------') 结果 [3. 5. 6.]
3、cumsum():从0 开始元素累积和
arr1 = np.array([0,1,2,3,4,5,6,7,8]) print(arr1.cumsum()) 结果 [ 0 1 3 6 10 15 21 28 36] #结果解析:从0开始加,一开始的值就是0,0开始加第一个数,0+0=0,上一个结果拿来继续加数组第二个数字 0+1=1 ,1+2=3, 3+3=6。。。。。。以此类推
4、cumprod():从1开始元素累积积
arr2 = np.array([[0,1,2],[3,4,5],[6,7,8]]) print(arr2) print('------------') print(arr2.cumsum(axis=0)) print('------------') print(arr2.cumprod(axis=1)) 结果 [[0 1 2] [3 4 5] [6 7 8]] ------------ [[ 0 1 2] [ 3 5 7] [ 9 12 15]] ------------ [[ 0 0 0] [ 3 12 60] [ 6 42 336]] #结果解析:cumsum加了axis=0 之后就是按列来算 cumprod指定了axis=1,所以是行,从1开始乘,1*0=0,所以第一行全都是0,第二行就是1*3=3, 3*4=12, 12*5=60,第三行就是1*6=6,6*7=42,42*8=336.
axit这个参数很重要,如果不写的话就会把你的结果变成是一个一位数组,而不是默认为axis=0 !!
基本统计方法
方法 | 作用 |
---|---|
sum | 求和 |
mean | 均值 |
std,var | 标准差和方差(自由度默认为n) |
min,max | 极值 |
argmin,argmax | 极值的索引 |
cumsum | 所有元素累和 |
cumprob | 所有元素累积 |