相关疑难解决方法(0)

按列对NumPy中的数组进行排序

如何在第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)

python arrays sorting numpy scipy

295
推荐指数
7
解决办法
27万
查看次数

在Python中对多个列上的numpy数组进行排序

我试图在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)

python sorting numpy

6
推荐指数
1
解决办法
5411
查看次数

标签 统计

numpy ×2

python ×2

sorting ×2

arrays ×1

scipy ×1