数学和统计方法
介绍几个基础数组统计方法:
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 | 所有元素累积 |