如何按列对3D numpy数组排序?

时间:2020-02-12 22:05:04

标签: python numpy sorting

对于2d数组,我们可以使用

进行排序
a = a[a[:, 0].argsort]

如果我们要按列0排序。如何对3D矩阵进行类似处理? 如果有


a = [[[ 1.,  2., 10.],
         [ 4.,  5.,  6.],
         [ 2.,  3.,  4.]],

        [[ 2.,  3.,  4.],
         [ 4.,  5.,  6.],
         [ 1.,  2.,  3.]],

        [[ 1.,  2.,  3.],
         [ 4.,  5.,  6.],
         [ 2.,  3.,  4.]]]

我们要根据3d矩阵每个元素的第一列进行排序吗?

1 个答案:

答案 0 :(得分:0)

我希望这会有所帮助:

COL = 0
DIM0 = 3
a[:, a[:, :, COL].argsort()][np.diag_indices(DIM0)]