令我惊讶的是,以前没有提出过这个具体问题,但是我真的没有在SO或文档上找到它np.sort。
假设我有一个包含整数的随机numpy数组,例如:
temp = np.random.randint(1,10, 10)
temp array([2, 4, 7, 4, 2, 2, 7, 6, 4, 4]) 如果对它进行排序,则默认情况下我将获得升序:np.sort(temp) array([2, 2, 2, 4, 4, 4, 4, 6, 7, 7]) 但我希望解决方案按降序排序。
现在,我知道我可以永远做:
reverse_order = np.sort(temp)[::-1] 但这最后的陈述有效吗?它不是按升序创建副本,然后反转此副本以反转顺序获得结果吗?如果确实如此,是否有有效的选择?看起来好像不np.sort接受参数来更改排序操作中的比较符号以使事情相反。 问题来源于stack overflow
temp[::-1].sort()在适当的位置对数组进行排序,而np.sort(temp)[::-1]创建一个新的数组。
In [25]: temp = np.random.randint(1,10, 10)
In [26]: temp Out[26]: array([5, 2, 7, 4, 4, 2, 8, 6, 4, 4])
In [27]: id(temp) Out[27]: 139962713524944
In [28]: temp[::-1].sort()
In [29]: temp Out[29]: array([8, 7, 6, 5, 4, 4, 4, 4, 2, 2])
In [30]: id(temp) Out[30]: 139962713524944
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。