用矩阵对 numpy 向量进行排序

Posted

技术标签:

【中文标题】用矩阵对 numpy 向量进行排序【英文标题】:Sorting numpy vector with matrix 【发布时间】:2017-06-15 14:07:52 【问题描述】:

我已经写了这段代码:

w = Dist.argsort(kind='mergesort');
return y[w];

其中w 是MxN 矩阵,y 是Nx1 向量。 如果np.shape(y) 返回的形状为 (3,),则一切正常。但是,当我尝试输入 shape(3,1) 的向量时,我的函数会返回一个 3 维 MXNx1 矩阵。

有没有办法将 (N,1) 向量减小到 (N,) 大小?或者对 (N,1) 个向量的函数输出进行归一化?

【问题讨论】:

【参考方案1】:

您可以使用 flatten 将 (N,1) numpy 数组缩减为 (N,):

>>>np.zeros((3, 1)).shape
(3, 1)

>>>np.zeros((3, 1)).flatten().shape
(3,)

【讨论】:

以上是关于用矩阵对 numpy 向量进行排序的主要内容,如果未能解决你的问题,请参考以下文章

第四十二篇 Numpy的基本操作——索引相关

对向量矩阵中的值进行排序,输出对应的索引

如何在 C++ 中对向量组元素进行排序?

使用 std::sort 对具有特定标准的二维向量进行排序

使用自定义谓词对 numpy 数组进行排序

c++ 仅使用矩阵按深度排序。可能的?