子数组中元素的平均值 [英] Average of elements in a subarray

查看:0
本文介绍了子数组中元素的平均值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个类似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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆