我只是想知道如何有效地使用NumPy sort()函数按降序对NumPy数组进行排序。我查看了NumPy官方文档和StackOverflow问题,但找不到如何使用NumPy sort()按降序对NumPy数组进行排序。
For instance:
import numpy as np
arr=np.array([1,5,8,4,5])
arr.sort()
print(arr)
Output:
[1,4,5,5,8]
我想按降序排序,我明白了按升序排序数组后,我可以像下面一样反转它。
arr.sort()[::-1]
但它会创建一个新数组,是否可以在不使用此方法的情况下按降序排序?
使用-np.sort(-arr)
:
import numpy as np
arr=np.array([1,5,8,4,5])
print(-np.sort(-arr))
输出:
[8 5 5 4 1]
问题内容: 以下代码将按 升序 对数组进行排序: 我需要 按降序 排序。如何使用比较器执行此操作? 请帮忙。 问题答案: 对于原始数组类型,您必须编写一个反向排序算法: 或者,您可以将转换为并编写比较器: 或使用,因为它仅适用于非原始数组类型。 最后,
我很惊讶以前没有人问过这个特定的问题,但我真的没有在SO上或。 假设我有一个包含整数的随机numpy数组,例如: 但我希望解决方案按降序排序。 现在,我知道我总能做到: 但这最后一句话是否高效?它不创建一个按升序排列的副本,然后反转这个副本以得到按反转顺序排列的结果吗?如果情况确实如此,是否有一个有效的替代方案?看起来不像接受参数来更改排序操作中比较的符号,以获得相反的顺序。
问题内容: 如何在Java中按降序排序? 问题答案: 这是您的一种方式list: 或者,您可以实施自己的排序并消除相反的步骤: 甚至更简单地使用,因为您只需要反转:
我想按第三个和第一个元素对元组数组进行排序,因此我使用了以下代码: 我的问题是,在前面的例子中,我可以按第三个元素和第一个元素的升序排序,也可以按它们的降序排序(使用反向)。但是如何按第三个元素的升序和第一个元素的降序排序。 请在你的回答中考虑以下情况: 在这种情况下,我不知道内部数组的确切大小(取决于我读入该数组的文件模式),我想按侧中的所有项进行排序(一些升序和一些降序)。 编辑:看起来,我明
我必须按降序整理出用户给出的15个数字。我可以写如何按升序对它们进行排序,但我不知道如何转动它们。使用for循环还是其他什么?
我一直试图这样做了一段时间,但我不能这样做。 如何将默认的升序更改为降序?另外,还有什么简单的方法可以对数组进行排序吗?