很多朋友不知道如何使用numpy进行降序。今天就来看看这个问题。
一、举例
我有一个像这样的numpy数组:
<p><span>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><span>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><span>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><span>[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学习推荐:
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中使用时间模块09/13
- ♥ Python中的rad是什么意思?10/15
- ♥ 如何在python3中输出循环?01/05
- ♥ Python基础——列表操作(二):遍历列表和数字列表10/02
- ♥ python中可迭代对象是什么09/30
- ♥ 如何获取python系统内置方法12/23
内容反馈