在二维数组(轴=1)中,根据一维数组中的一个范围求平均值的最python方法是什么?在
我试着平均环境变量数组(我的2d数组)基于每2个纬度(我的id数组)。我有一个纬度数组从-33.9到29.5。我想把环境变量平均在-34到30之间每2度。在
每2度内的元素数量可能不同,例如:
arr = array([[5,3,4,5,6,4,2,4,5,8],
[4,5,8,5,2,3,6,4,1,7],
[8,3,5,8,5,2,5,9,9,4]])
idx = array([1,1,1,2,2,3,3,3,3,4])
然后我将根据idx[0:3]
,idx[3:9]
,idx[9]
计算arr中的值的平均值。在
我想得到一个结果:
^{pr2}$
您可以使用^{} 函数。对于您的索引示例
0:3, 3:9, 9
,如下所示:这将为您提供一个数组列表:
^{pr2}$然后,您可以计算平均值,如下所示:
^{3}$并将其转换回数组:
@Andyk已经在他的帖子中解释了如何使用一系列指数来计算平均值。
我将提供一个获得这些指数的解决方案。在
以下是一种通用方法:
用法示例:
用示例数据进行检查:
^{pr2}$您可以获得这样分隔不同窗口的索引:
^{3}$使用此函数,您还可以指定不同的窗口大小:
以及不同的起始值:
注意,默认情况下,我将数组的第一个元素作为起始值。在
相关问题 更多 >
编程相关推荐