子数组中元素的平均值平均值、组中、元素

2023-09-04 01:33:11 作者:Abstract- 魅力

我有一个类似a=[1, 2, 3, 4, 5, 6, 7]的数组。我要将此数组拆分为3个任意大小的块。

当我将它分成3个块时,我得到了3个子数组:[array([1, 2, 3]), array([4, 5]), array([6, 7])]

输入一个二维整型数组a ,用三种方法输出二维数组中所有元素的平均值 最大元素 最小元素

我的目标是获得一个子数组中元素的平均值的数组:[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]