我需要计算2个指数之间的平均值。假设我的指数是3和10,我想总结它们之间的所有值并除以值的数量。
最简单的方法就是使用从3开始的for循环,直到10,汇总和分割。这看起来像一个非常非pythonic的方式,考虑到Numpy提供的功能,我想也许有一个更短的方式使用一些Numpy魔术。任何建议都非常适合
答案 0 :(得分:2)
要访问两个索引i
和j
之间的所有元素,您可以使用切片:
slice_of_array = array[i: j+1] # use j if you DO NOT want index j included
并且平均值是使用np.average
计算的,但在您的情况下,您希望使用元素数量进行加权,因此您只需使用np.mean
:
import numpy as np
mean_of_slice = np.mean(slice_of_array)
或一气呵成(使用您的指数):
i = 3
j = 10
np.mean(array[i: j+1])
答案 1 :(得分:1)
import numpy as np
np.mean(yourarray[3:11])
假设您的阵列名称是" yourarray"