NumPy-常用的统计函数

 常用的统计函数

函数说明
sum计算数组中的和
mean计算数组中的均值
var计算数组中的方差
std计算数组中的标准差
max计算数组中的最大值
min计算数组中的最小值
argmax返回数组中最大元素的索引
argmin返回数组中最小元素的索引
cumsum计算数组中所有元素的累计和
cumprod计算数组中所有元素的累计积

注意:  每个统计函数都可以按行和列来统计计算;  当 axis=1 时,表示沿着横轴计算;   当 axis=0 时,表示沿着纵轴计算;

(1)sum()  计算数组中的和   

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('求总和: ',np.sum(arr))
# 结果: 190

print('按行求和: ',np.sum(arr,axis=1))
# 结果: [10 35 60 85]

print('按列求和: ',np.sum(arr,axis=0))
# 结果: [30 34 38 42 46]

(2)mean()  计算数组中的均值

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('求总均值: ',np.mean(arr))
# 结果: 9.5

print('按行求均值: ',np.mean(arr,axis=1))
# 结果: [  2.   7.  12.  17.]

print('按列求均值: ',np.mean(arr,axis=0))
# 结果: [  7.5   8.5   9.5  10.5  11.5]

(3)var()  计算数组中的方差

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('求总方差: ',np.var(arr))
# 结果: 33.25

print('按行求方差: ',np.var(arr,axis=1))
# 结果: [ 2.  2.  2.  2.]

print('按列求方差: ',np.var(arr,axis=0))
# 结果: [ 31.25  31.25  31.25  31.25  31.25]

(4)std()  计算数组中的标准差

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('求总标准差: ',np.std(arr))
# 结果: 5.76628129734

print('按行求标准差: ',np.std(arr,axis=1))
# 结果: [ 1.41421356  1.41421356  1.41421356  1.41421356]

print('按列求标准差: ',np.std(arr,axis=0))
# 结果: [ 5.59016994  5.59016994  5.59016994  5.59016994  5.59016994]

(5)max()  计算数组中的最大值

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('求最大值: ',np.max(arr))
# 结果: 19

print('按行最大值: ',np.max(arr,axis=1))
# 结果: [ 4  9 14 19]

print('按列最大值: ',np.max(arr,axis=0))
# 结果: [15 16 17 18 19]

(6)min()  计算数组中的最小值 

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('求最小值: ',np.min(arr))
# 结果: 0

print('按行最小值: ',np.min(arr,axis=1))
# 结果: [ 0  5 10 15]

print('按列最小值: ',np.min(arr,axis=0))
# 结果: [0 1 2 3 4]

(7)argmax()  返回数组中最大元素的索引     

注意:  无论行列,索引都是从0开始算起的

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('求最大索引: ',np.argmax(arr)) 
# 结果: 19

print('按行最大索引: ',np.argmax(arr,axis=1))
# 结果: [4 4 4 4]

print('按列最大索引: ',np.argmax(arr,axis=0))
# 结果: [3 3 3 3 3]

(8)argmin()  返回数组中最小元素的索引 

注意:  无论行列,索引都是从0开始算起的

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('求最小索引: ',np.argmin(arr))
# 结果: 0

print('按行最小索引: ',np.argmin(arr,axis=1))
# 结果: [0 0 0 0]

print('按列最小索引: ',np.argmin(arr,axis=0))
# 结果: [0 0 0 0 0]

(9)cumsum()  计算数组中所有元素的累计和

注意:  无论行列相加,每次相加一个值都会返回一个值

import numpy as np

arr = np.arange(20).reshape(4,5)
print(arr)
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  6  7  8  9]
#  [10 11 12 13 14]
#  [15 16 17 18 19]]

print('累计求和: ',np.cumsum(arr))  
# 结果: [  0   1   3   6  10  15  21  28  36  45  55  66  78  91 105 120 136 153 171 190]

print('按行累计求和: ',np.cumsum(arr,axis=1))
# 结果: 
# [[ 0  1  3  6 10]
#  [ 5 11 18 26 35]
#  [10 21 33 46 60]
#  [15 31 48 66 85]]

print('按列累计求和: ',np.cumsum(arr,axis=0))
# 结果: 
# [[ 0  1  2  3  4]
#  [ 5  7  9 11 13]
#  [15 18 21 24 27]
#  [30 34 38 42 46]]

(10)cumprod()  计算数组中所有元素的累计积

注意:  无论行列相加,每次相加一个值都会返回一个值

import numpy as np

arr = np.arange(1,10).reshape(3,3)
print(arr)
# 结果: 
# [[1 2 3]
#  [4 5 6]
#  [7 8 9]]

print('累计积: ',np.cumprod(arr))  
# 结果: [     1      2      6     24    120    720   5040  40320 362880]

print('按行累计积: ',np.cumprod(arr,axis=1))
# 结果: 
# [[  1   2   6]
#  [  4  20 120]
#  [  7  56 504]]

print('按列累计积: ',np.cumprod(arr,axis=0))
# 结果: 
# [[  1   2   3]
#  [  4  10  18]
#  [ 28  80 162]]

 

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值