python - 如何有效地订购一个numpy矩阵
问题描述
我有这个 numpy 数组
matrix = np.array([[ 0.8, 0.2, 0.1],
[ 1. , 0. , 0. ],
[ 0. , 0. , 1. ]])
并且我想过滤以返回matrix
以递减值顺序排列的每一行索引。
例如,这将是
np.array([[0, 1, 2], [0, 1, 2], [2, 0, 1]])
我知道我可以使用np.argsort
,但这似乎并没有返回正确的输出。我尝试将其更改axis
为不同的值,但这也无济于事。
解决方案
获得所需输出的最简单方法可能是:
(-matrix).argsort(axis=1)
# array([[0, 1, 2],
# [0, 1, 2],
# [2, 0, 1]])
推荐阅读
- angular - 通过 pipe() 订阅时,Angular 没有 http 请求
- reactjs - 在 Redux 中处理异步操作
- javascript - 具有最大和限制的组或块数组
- ruby-on-rails - Rails API:as_json 包含查询数据库,尽管以前包含
- java - 在 SQL Server 中存储完整日期
- c# - 我如何通过 ILogger
成一个用 new 创建的对象? - java - 在 Spring Boot 应用程序启动后设置系统属性是否正确?
- data-structures - 当问题要求返回树时,应该返回什么数据结构作为最终实体
- java - 从右到左扫描Java中的二维对角数组?
- text - Plotly Gauge - 可以关闭中心值吗?