【问题标题】:Vectorized sort of 2D numpy array columns independently2D numpy 数组列的向量化排序独立
【发布时间】:2021-09-25 05:09:24
【问题描述】:

必须有一种简单的矢量化方法来独立排序 2D numpy 数组中的所有列,而不使用 for 循环。

input_arr = np.array([[6,4],[3,1],[2,5]])

out_arr =np.empty_like(input_arr)
for c,column in enumerate(input_arr.T):
    out_arr[:,c] = np.sort(column)
Expected results:
unsorted:
[[6 4]
 [3 1]
 [2 5]]

columns_sorted:
[[2 1]
 [3 4]
 [6 5]]

你能帮帮我吗?

【问题讨论】:

    标签: python numpy sorting vectorization


    【解决方案1】:
    np.sort(np.array([[6,4],[3,1],[2,5]]).T).T
    

    编辑:

    更好更简单的解决方案,感谢@user3483203

    np.sort(np.sort(np.array([[6,4],[3,1],[2,5]]), axis=0)
    

    【讨论】:

    • 就是这样。谢谢!
    • np.sort(input_arr, axis=0)?
    猜你喜欢
    • 2017-10-26
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2017-03-28
    相关资源
    最近更新 更多