【发布时间】:2016-12-29 09:12:23
【问题描述】:
m,n) 形状的 numpy 数组。我想按索引 [1,2,:] 中的值对整个数组进行排序。是否有捷径可寻?我尝试使用 pandas 面板,但无论出于何种原因,它都没有按值排序功能。
链接的“重复”似乎仅适用于二维数组中的列。我在更一般的意义上使用术语列,即 (mxnxlx..) 数组的一维子数组
【问题讨论】:
-
在选定的行/列上使用
argsort,然后使用该索引对数组进行排序。
m,n) 形状的 numpy 数组。我想按索引 [1,2,:] 中的值对整个数组进行排序。是否有捷径可寻?我尝试使用 pandas 面板,但无论出于何种原因,它都没有按值排序功能。
链接的“重复”似乎仅适用于二维数组中的列。我在更一般的意义上使用术语列,即 (mxnxlx..) 数组的一维子数组
【问题讨论】:
argsort,然后使用该索引对数组进行排序。
所以我是如何使用 argsort 的,如 hpaulj 所说,给定一个数组 arr,它是 (m,n,l) 维和一个由 (i,j,:) 索引的列。
sorted = np.empty(arr.shape):
for k in range(arr.shape[2]):
sorted[:,:,i] = arr[:,:,np.argsort(arr[i,j,:])[i]]
【讨论】: