【问题标题】:Sorting an 3-dimensional array by a single row/column in Python在 Python 中按单行/列对 3 维数组进行排序
【发布时间】:2016-12-29 09:12:23
【问题描述】:

m,n) 形状的 numpy 数组。我想按索引 [1,2,:] 中的值对整个数组进行排序。是否有捷径可寻?我尝试使用 pandas 面板,但无论出于何种原因,它都没有按值排序功能。

链接的“重复”似乎仅适用于二维数组中的列。我在更一般的意义上使用术语列,即 (mxnxlx..) 数组的一维子数组

【问题讨论】:

标签: python pandas numpy


【解决方案1】:

所以我是如何使用 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]]

【讨论】:

    猜你喜欢
    • 2020-07-29
    • 2021-03-30
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2011-03-15
    相关资源
    最近更新 更多