[英]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.