python - 用每个值的顺序替换 numpy 数组
问题描述
您好,我正在尝试执行以下操作。
我有一个矩阵
a = np.array([[1,4,3], [0,3,7]])
我想转换矩阵,以便每个单元格 new_a[i,j] 包含 a[i,j] 沿轴 = 1 的顺序(降序)所以结果将是
a_new = np.array([[2,0,1], [2,1,0]])
我试过这个(它有效)
argsorts = np.argsort(a, axis=1)
for i in a.shape[0]:
a[i, argsorts[i]] = range(a.shape[1])[::-1]
我想用别的东西改变for循环谢谢
解决方案
尝试
>>> 2-a.argsort()
[[2 0 1]
[2 1 0]]
推荐阅读
- pandas - 熊猫科学记数法浮动
- angular - 如何解决 Angular 中服务之间的链式承诺?
- spring-boot - 如何从推送到本地 PCF DEV 的 Spring Boot 应用程序成功连接到本地 MySQL 8.0 数据库?
- reactjs - 为什么在 React 中声明链接时会出现跨域错误
- c# - 更好地理解调度程序对运行时的影响
- c - 在这些 C 代码片段中发现了哪些问题?
- c# - UI 线程和 SynchronizationContext
- oracle - Oracle 中的“列不明确定义”错误
- java - 如何找到孙子(?)元素的Xpath
- c++ - 为什么 SFML Xcode 不能使用 C++ 加载我的 .png 文件?