我有一个类似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]
上一篇:将节点从6升级到最新版本时,NPM I在REACT本机项目中出现ENOENT失败升级到、节点、本机、最新版本
下一篇:监测新的文件创建一个目录,而FileSystemWatcher的创建一个、文件、目录、FileSystemWatcher