如何在第n列中对NumPy中的数组进行排序?
例如,
a = array([[9, 2, 3],
[4, 5, 6],
[7, 0, 5]])
Run Code Online (Sandbox Code Playgroud)
我想按第二列对行进行排序,以便我回来:
array([[7, 0, 5],
[9, 2, 3],
[4, 5, 6]])
Run Code Online (Sandbox Code Playgroud) 我试图在column1上排序以下数组,然后是column2然后是column3
[['2008' '1' '23' 'AAPL' 'Buy' '100']
['2008' '1' '30' 'AAPL' 'Sell' '100']
['2008' '1' '23' 'GOOG' 'Buy' '100']
['2008' '1' '30' 'GOOG' 'Sell' '100']
['2008' '9' '8' 'GOOG' 'Buy' '100']
['2008' '9' '15' 'GOOG' 'Sell' '100']
['2008' '5' '1' 'XOM' 'Buy' '100']
['2008' '5' '8' 'XOM' 'Sell' '100']]
Run Code Online (Sandbox Code Playgroud)
我使用了以下代码:
idx=np.lexsort((order_array[:,2],order_array[:,1],order_array[:,0]))
order_array=order_array[idx]
Run Code Online (Sandbox Code Playgroud)
结果数组是
[['2008' '1' '23' 'AAPL' 'Buy' '100']
['2008' '1' '23' 'GOOG' 'Buy' '100']
['2008' '1' '30' 'AAPL' 'Sell' '100']
['2008' '1' '30' 'GOOG' 'Sell' '100']
['2008' '5' '1' …Run Code Online (Sandbox Code Playgroud)