使用列表中包含的不同numpy数组中的元素

时间:2017-10-19 12:48:20

标签: python arrays list numpy

我有一个列表,例如:

a=[np.array([1,2,3]),np.array([4,5,6]),np.array([7,8,9])]

现在,我想要考虑例如每个列表的每个元素具有相同的索引并执行某些操作。让我们说每个数组具有相同索引的值的平均值。

我可以用例如

来评估每个列表索引
a[0][2]

导致3.但以下不起作用

meanedValues=[None]*3
for j in range(len(a[0])):                           #given all arrays have the same length
     meanedValues[j]=mean(a[:][j]) 

结果表示itselve中的每个数组,而不是每个列表中相同索引的每个元素。

meanedValues=[None]*3
for j in range(len(a[0])):                           #given all arrays have the same length
     meanedValues[j]=mean(a[:](0,j)) 

返回:TypeError:' list'对象不可调用

2 个答案:

答案 0 :(得分:1)

鉴于所有数组具有相同的长度,您可以将列表转换为2d数组,然后取平均值超过0轴:

np.asarray(a).mean(0)
# array([ 4.,  5.,  6.])

答案 1 :(得分:1)

您可以简单地使用2d numpy数组,它本身支持您所需的操作:

<link rel="preload" href="/fonts/myfont.eot" as="font" crossorigin="anonymous" />