繁体   English   中英

Python Numpy将2D数组转换为1D数组排序

[英]Python numpy convert 2d array in 1d array sorted

我有一个2D的numpy数组,我想将此数组更改为已排序的1D。 例如:

A = [[1,0,2],
     [0,3,0]]

我希望这样:

B = [3,2,1,0,0,0]

知道我如何使用python模块而不是编写排序算法或类似的方法吗?

谢谢

假设您要按降序对它们进行排序-

In [127]: A
Out[127]: [[1, 0, 2], [0, 3, 0]]

In [128]: B = np.sort(np.array(A).ravel())

In [129]: B[::-1]
Out[129]: array([3, 2, 1, 0, 0, 0])

基本上,它涉及三个步骤:使用np.sort ravel()平数组,使用np.sort对其进行np.sort ,然后反转索引以实现descending排序的效果。

这是我的解决方案:

A = [[1,0,2], [0,3,0]]
B = []
for i in range(len(A)):
    for j in range(len(A[i])):
        B.append(A[i][j])

B.sort(cmp=None, key=None, reverse=True)
print B

您可以看到我的代码在这里运行: http : //ideone.com/P8xBPK

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM