【问题标题】:Numpy - custom sort of rows and columns in arrayNumpy - 数组中行和列的自定义排序
【发布时间】:2018-07-13 11:40:42
【问题描述】:

我可以根据存储在单独列表中的值对数组的行或列进行排序吗?

例如:

row_keys = [10, 11, 5, 6]
z = np.array([[2.77, 11., 4.1, 7.2],
                      [3.7, 2.2, 1.1, 0.5],
                      [2.5, 3.5, 5.0, 9.0],
                      [4.3, 2.2, 5.1, 6.1]])

应该产生类似的东西

array([[  2.5,   3.5,   5. ,   9. ],
       [  4.3,   2.2,   5.1,   6.1]
       [  2.77,  11. ,   4.1,   7.2],
       [  3.7,   2.2,   1.1,   0.5],
       ])

请给列应用类似的功能。

【问题讨论】:

    标签: python sorting numpy matrix multidimensional-array


    【解决方案1】:

    行的另一种方式

    z_rows = z[np.argsort(row_keys)]
    

    对于列

    z_columns = z.T[np.argsort(row_keys)].T
    

    【讨论】:

    • 这是正确的方法。比使用列表推导更紧凑、更快捷。
    猜你喜欢
    • 1970-01-01
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    相关资源
    最近更新 更多