python - 如何使用两个键对 3d 数组进行排序
问题描述
给定以下数组:
import numpy as np
import random
np.random.seed(1)
arr_3d = np.random.randint(0, 100, size=(5, 4, 3))
我需要 5 次排序操作(沿最长轴,此数组中的大小为“5”)。每个排序操作需要两个键,属于第三个切片中的两个索引。
arr_3d[:,:,0] #-> first sort key
arr_3d[:,:,2] #-> second sort key (in case there's a tie in the first key)
我已经能够生成将每个“行”分别排序的索引,但我似乎无法将索引转换为 3d 数组。
sorted_indexes_0=arr_3d[:,:,0 ].argsort()
sorted_indexes_2=arr_3d[:,:,2 ].argsort()
解决方案
推荐阅读
- html - 右标题的宽度
- amazon-s3 - ffmpeg上传到s3
- android - 在 Android 的 Fragment 中设计一组复杂的视图布局时,最佳实践是什么?
- postgresql - Postgresql“使用索引名的集群表名;” 占用的磁盘空间超过表大小加上所有索引的总和
- java - 如何从命令行(Ubuntu 18.04,失败:错误的插件选项格式)构建这个 gradle 项目(KotlinParcelize)?
- php - 执行 for 循环或 foreach 循环以更新用户表
- javascript - 当用户更改值时定期发送 POST 请求
- c# - ASP.NET Core 添加区域以形成帖子而不指定
- python - Python:使用 IPython.display 从 url 获取 CSV 数据时出现类型错误
- inno-setup - 仅在 Inno Setup 的特定页面中播放声音