子数组中元素的平均值 [英] Average of elements in a subarray
本文介绍了子数组中元素的平均值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个类似a=[1, 2, 3, 4, 5, 6, 7]
的数组。我要将此数组拆分为3个任意大小的块。
当我将它分成3个块时,我得到了3个子数组:[array([1, 2, 3]), array([4, 5]), array([6, 7])]
。
我的目标是获得一个子数组中元素的平均值的数组:[2, 4.5, 6.5]
,因为(1+2+3)/3=2
(第一个元素),(4+5)/2=4.5
(第二个元素),依此类推。
我尝试了以下代码:
import numpy as np
a=[1, 2, 3, 4, 5, 6, 7]
a_split=np.array_split(a, 3)
a_split_avg=np.mean(a_split, axis=1)
我收到以下错误:tuple index out of range
。
推荐答案
您会收到该错误,因为np.array_split
返回的是数值数组的PythonList,而不是多维数值数组,因此axis
无法使用它。将最后一行替换为:
a_split_avg = [np.mean(arr) for arr in a_split]
这篇关于子数组中元素的平均值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文