如何计算沿Numy数组轴的平均值?
问题描述
我还是个新手。
以下是我的三维数组:
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])
我错过了什么?
解决方案
只需使用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. ]]
相关文章