如何使用两个键对三维阵列进行排序

2024-04-24 04:13:07 发布

您现在位置:Python中文网/ 问答频道 /正文

给定以下数组:

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()