统计方法

阅读: 5439     评论:0

可以通过以下的基本统计方法对整个数组或者数组的某个轴的数据进行统计:

方法 说明
sum 求和
mean 算术平均数
std 标准差
var 方差
min 最小值
max 最大值
argmax 最大元素在指定轴上的索引
argmin 最小元素在指定轴上的索引
cumsum 累积的和
cumprod 累积的乘积

示例:

>>> a = np.arange(12).reshape(3,4)
>>> a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> a.sum()
66
>>> a.sum(axis=1)
array([ 6, 22, 38])
>>> a.mean()
5.5
>>> a.mean(axis=1)
array([1.5, 5.5, 9.5])
>>> a.std()
3.452052529534663
>>> a.var()
11.916666666666666
>>> a.max()
11
>>> a.cumsum()
array([ 0,  1,  3,  6, 10, 15, 21, 28, 36, 45, 55, 66], dtype=int32)
>>> a.cumsum(axis=1)
array([[ 0,  1,  3,  6],
       [ 4,  9, 15, 22],
       [ 8, 17, 27, 38]], dtype=int32)
>>> a.cumprod()
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
>>> a.cumprod(axis=1)
array([[   0,    0,    0,    0],
       [   4,   20,  120,  840],
       [   8,   72,  720, 7920]], dtype=int32)
>>> a.argmin()
0
>>> a.argmax()
11

除了以上的统计方法,还有针对布尔数组的三个重要方法:sum、any和all:

  • sum : 统计数组或数组某一维度中的True的个数
  • any: 统计数组或数组某一维度中是否存在一个/多个True,只要有则返回True,否则返回False
  • all:统计数组或数组某一维度中是否都是True,都是则返回True,否则返回False

实际上,对于普通的数组,以上三个操作也是可以的。对于any和all函数,将非0的数字都看作True,0看作False。

>>> a
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11]])
>>> a.any()
True
>>> a.all()
False
>>> b = np.arange(1,3)
>>> b
array([1, 2])
>>> b.all()
True
>>> b.any()
True
>>> x = np.array([[True,False],[True,False]])
>>> x.sum()
2
>>> x.any()
True
>>> x.all()
False
>>> c = np.array([-1,2,3+1j])
>>> c.any()
True
>>> c.all()
True

 布尔索引 随机数 

评论总数: 0


点击登录后方可评论