(Python 2.7.12)-我创建了一个NxN数组,当我打印它时,我得到以下确切的输出:
样品a:
SampleArray=np.random.randint(1,100, size=(5,5))
[[49 72 88 56 41]
[30 73 6 43 53]
[83 54 65 16 34]
[25 17 73 10 46]
[75 77 82 12 91]]
但是,当我使用代码按第4列中的元素对该数组进行排序时:
SampleArray=sorted(SampleArray, key=lambda x: x[4])
我得到以下输出:
样本b:
[array([90, 9, 77, 63, 48]), array([43, 97, 47, 74, 53]), array([60, 64, 97, 2, 73]), array([34, 20, 42, 80, 76]), array([86, 61, 95, 21, 82])]
如何使输出保持为“样本a”的格式。如果我能在直列中看到数字,将使调试变得更加容易。
只需使用numpy.argsort()例程:
import numpy as np
a = np.random.randint(1,100, size=(5,5))
print(a) # initial array
print(a[np.argsort(a[:, -1])]) # sorted array
输出为# initial array
:
[[21 99 34 33 55]
[14 81 92 44 97]
[68 53 35 46 22]
[64 33 52 40 75]
[65 35 35 78 43]]
输出为# sorted array
:
[[68 53 35 46 22]
[65 35 35 78 43]
[21 99 34 33 55]
[64 33 52 40 75]
[14 81 92 44 97]]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句