Python 计算存储在列表中的2D numpy数组的平均值

Python 计算存储在列表中的2D numpy数组的平均值,python,numpy,for-loop,Python,Numpy,For Loop,a: 我可以做a[0]。意思是,我会得到想要的结果。我想用for循环对'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 ,

a:

我可以做
a[0]。意思是
,我会得到想要的结果。我想用for循环对
'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],
                         ...
TypeError:“int”对象不可编辑


首先,
dist[0]。mean
返回一个函数,而返回平均值。通常,您需要dist[0].mean()

使用列表理解可以轻松避免for循环:

mean_all = []

for i in len(dist):
    mean = dist[i].mean
    mean_all.append(mean)
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]

如果您真的想将
用于
循环,请使用以下命令:

mean_all = []

for i in len(dist):
    mean = dist[i].mean
    mean_all.append(mean)
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]

首先,
dist[0]。mean
返回一个函数,而返回平均值。通常,您需要dist[0].mean()

使用列表理解可以轻松避免for循环:

mean_all = []

for i in len(dist):
    mean = dist[i].mean
    mean_all.append(mean)
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]

如果您真的想将
用于
循环,请使用以下命令:

mean_all = []

for i in len(dist):
    mean = dist[i].mean
    mean_all.append(mean)
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]

使用正确的使用范围()格式


使用正确的使用范围()格式


用于范围内的i(len(dist))
或更多pythonic:
mean\u all=[arr.mean()用于范围内的arr]
tip1:
dist[i]。mean
返回一个函数,tip2:需要
用于范围内的i(len(dist))
。请参阅我的答案,以获得有关范围内i(len(dist))的完整解释。
或更多pythonic:
mean_all=[arr.mean()表示范围内的arr(dist)]
tip1:
dist[i]。mean
返回一个函数,tip2:需要
表示范围内i(len(dist))
。请参阅我的答案以获得完整的解释