There is an array as below;
x=np.array([ ['0', '0'], ['1', '1'], ['7', '10'], ['8', '11'], [',', '2'], ['4', '3'], ['.', '4'], ['2', '5'], ['5', '6'], ['er014', '7'], ['ww', '8'], ['*', '9']])
I used the following codes to sort this array by the second column but without success. Is there anyone to help?
A= np.take(x, x[:, 1].argsort(), 0)
Advertisement
Answer
np.take(x, x[:, 1].astype(int).argsort(), 0)
You may just cast the values for sorting. The overall result of you np.take() will remain as strings.
array([['0', '0'], ['1', '1'], [',', '2'], ['4', '3'], ['.', '4'], ['2', '5'], ['5', '6'], ['er014', '7'], ['ww', '8'], ['*', '9'], ['7', '10'], ['8', '11']], dtype='<U5')