我有一个矩阵像:[[4 5 6][1 2 3][7 8 9]]
需要每行的平均值(5,2,8)。当我需要按每行的平均值排序并将其与我正在打印的平均值所在行的原始索引一起打印时,问题就来了。你知道吗
输出应该首先显示索引,然后是如下所示的平均值:[2:2,1:5,3:8]
到目前为止,我还不知道如何广告索引到它。。。你知道吗
average = []
for i in range(m):
k = numpy.mean(A[i])
average.append(k)
average.sort()
print(average)
Tags:
因为您使用的是numpy,所以应该避免显式循环。没有理由在列表上循环并在每个元素上调用
np.mean()
,只要您可以使用:一次完成这一切。你知道吗
然后,可以使用各种堆栈实用程序之一对索引进行堆栈:
这将为您提供一个堆叠阵列,如:
这样就可以使用
argsort()
对第二个元素进行排序:结果:
有了它,您应该能够创建您想要的最终输出。你知道吗
这可以通过
sorted()
和lambda
实现。看:或者,如果你真的想对平均值进行排序:
要获得
a
中的行索引及其平均值,请执行以下操作:最后,要按平均值对行及其平均值进行排序,只需执行以下操作:
你可以这样做:
输出:
{2:2,1:5,3:8}
相关问题 更多 >
编程相关推荐