[英]Calculate mean value of 2D numpy arrays stored in a list
A:
[array([[0.10865657, 0.10638294, 0.10471012, 0.09508586, 0.09283491],
[0.10892282, 0.10664408, 0.10496752, 0.09531553, 0.09305617],
[0.11664 , 0.1143077 , 0.11259081, 0.1026154 , 0.10025029],
[0.11626453, 0.11392252, 0.11219875, 0.10217754, 0.09980005]]),
array([[0.04213751, 0.04178241, 0.04158858, 0.04331489, 0.04447674],
[0.04213751, 0.04178241, 0.04158858, 0.04331489, 0.04447674],
[0.04267657, 0.04255925, 0.04253528, 0.04520177, 0.04655534],
...
我可以做a[0].mean
,我會得到想要的結果。 我想用for循環來完成'a'
的整個長度。
我努力了:
mean_all = []
for i in len(dist):
mean = dist[i].mean
mean_all.append(mean)
TypeError:“ int”對象不可迭代
首先, dist[0].mean
返回一個函數,而不是均值。 通常,您需要dist[0].mean()
。
您可以使用列表推導輕松避免for循環:
from numpy import array
dist = [array([[0.10865657, 0.10638294, 0.10471012, 0.09508586, 0.09283491],
[0.10892282, 0.10664408, 0.10496752, 0.09531553, 0.09305617],
[0.11664 , 0.1143077 , 0.11259081, 0.1026154 , 0.10025029],
[0.11626453, 0.11392252, 0.11219875, 0.10217754, 0.09980005]]),
array([[0.04213751, 0.04178241, 0.04158858, 0.04331489, 0.04447674],
[0.04213751, 0.04178241, 0.04158858, 0.04331489, 0.04447674],
[0.04267657, 0.04255925, 0.04253528, 0.04520177, 0.04655534]])]
mean_all = [dist[i].mean() for i in range(len(dist))]
print(mean_all)
[0.10536720549999998, 0.04307523133333334]
如果您確實要使用for
循環,請使用以下命令:
mean_all = []
for i in range(len(dist)):
mean = dist[i].mean()
mean_all.append(mean)
print(mean_all)
[0.10536720549999998, 0.04307523133333334]
使用使用range()的正確格式
for i in range(len(dist))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.