您如何计算沿numpy数组的轴的平均值?

时间:2018-11-30 21:22:00

标签: python arrays python-3.x numpy mean

我是python的新手。

这是我的三维数组:

my_data=numpy.zeros((index1,index2,index3))

为说明起见,假设尺寸为:

index1 = 5
index2 = 4
index3 = 100

我想计算给定index2值的所有index3值的平均值。

我尝试了各种选择:

# Does not work
result[index1][index2] = numpy.mean(my_data[index1][index2][index3], axis=2)

# Also does not work
result = numpy.zeros((index1, index2))
result[index1][index2] = numpy.mean(my_data[index1][index2])

我想念什么?

1 个答案:

答案 0 :(得分:0)

只需将np.mean()axis关键字一起使用:

import numpy as np

np.random.seed(0)

data = np.random.randint(0,5,size=(3,3,3))

收益:

[[[4 0 3]
  [3 3 1]
  [3 2 4]]

 [[0 0 4]
  [2 1 0]
  [1 1 0]]

 [[1 4 3]
  [0 3 0]
  [2 3 0]]]

然后申请:

np.mean(data,axis=1)

#Or data.mean(axis=1)

返回:

[[3.33333333 1.66666667 2.66666667]
 [1.         0.66666667 1.33333333]
 [1.         3.33333333 1.        ]]