Python中numpy如何进行降序?

517次阅读
没有评论

Python中numpy如何进行降序?

很多小伙伴不知道如何用numpy进行降序,今天就这个问题一起来看看吧。

一、举例

我有一个像这样的numpy数组:

<p style="line-height: 1.75em"><span style="font-size: 14px">A = array([[1, 3, 2, 7],
           [2, 4, 1, 3],
           [6, 1, 2, 3]])<br /></span></p>

我想按降序排序这个矩阵的行,并得到排序矩阵的参数,如下所示:

As = array([[3, 1, 2, 0],
            [1, 3, 0, 2],
            [0, 3, 2, 1]])

我做了以下事情:

<p style="line-height: 1.75em"><span style="font-size: 14px">import numpy
A = numpy.array([[1, 3, 2, 7], [2, 4, 1, 3], [6, 1, 2, 3]])
As = numpy.argsort(A, axis=1)<br /></span></p>

但这让我按升序排序。此外,在我花了一些时间在互联网上寻找解决方案后,我希望numpy中的argsort函数必须有一个参数可以反转排序顺序。但是,显然没有这样的论点!为什么?

二、有一个称为秩序的论证。

我试过,通过猜测,numpy.argsort(…,order = reverse),但它不起作用。

我在这里找到了以前问题的解决方案,我发现我可以做到:

<p style="line-height: 1.75em"><span style="font-size: 14px">import numpy
A = numpy.array([[1, 3, 2, 7], [2, 4, 1, 3], [6, 1, 2, 3]])
As = numpy.argsort(A, axis=1)
As = As[::-1]<br /></span></p>

由于某种原因,As = As [:: – 1]没有给我所需的输出。

好吧,我想这一定很简单,但我错过了一些东西。

三、如何按降序对numpy数组进行排序?

只需将矩阵乘以-1即可逆序:

<p style="line-height: 1.75em"><span style="font-size: 14px">[In]: A = np.array([[1, 3, 2, 7],
                    [2, 4, 1, 3],
                    [6, 1, 2, 3]])
[In]: print( np.argsort(-A) )
[Out]: [[3 1 2 0]
        [1 3 0 2]
        [0 3 2 1]]<br /></span></p>

以上就是Python中numpy进行降序的方法。Python中numpy相关知识点学习之路:

Python中NumPy的基本概念

python怎么下载numpy

更多Python学习推荐:Python学习网教学中心

神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试

相关文章:

版权声明:Python基础教程2022-12-07发表,共计885字。
新手QQ群:570568346,欢迎进群讨论 Python51学习