2012-05-16 16 views
18

ho un array come questo:Estrazione prime n colonne di una matrice NumPy

array([[-0.57098887, -0.4274751 , -0.38459931, -0.58593526], 
     [-0.22279713, -0.51723555, 0.82462029, 0.05319973], 
     [ 0.67492385, -0.69294472, -0.2531966 , 0.01403201], 
     [ 0.41086611, 0.26374238, 0.32859738, -0.80848795]]) 

Ora voglio estrarre il seguente:

[-0.57098887, -0.4274751] 
    [-0.22279713, -0.51723555] 
    [ 0.67492385, -0.69294472] 
    [ 0.41086611, 0.26374238] 

Quindi, fondamentalmente solo prime 2 colonne ..

+3

documentazione Numpy: [affettare] (http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#arrays-indexing). Prima controlla sempre la documentazione. –

+1

@JoelCornett: Grazie .. così affettare è il termine .. diventa piuttosto difficile se si conosce il concetto ma non il termine .. :) molte grazie :) – Fraz

risposta

42

Se a è la matrice:

In [11]: a[:,:2] 
Out[11]: 
array([[-0.57098887, -0.4274751 ], 
     [-0.22279713, -0.51723555], 
     [ 0.67492385, -0.69294472], 
     [ 0.41086611, 0.26374238]]) 
3

So che questo piuttosto una vecchia questione -

A = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]] 

Diciamo che si desidera estrarre - prime 2 righe e prime 3 colonne

A_NEW = A[0:2,0:3] 
A_NEW = [[1,2,3],[4,5,6]] 

Comprendere la sintassi

A_NEW = A[Start_index : stop_index, start_index : stop_index)] 

Se uno vuole la riga 2 e la colonna 2 e 3

A_NEW = A[1:2,1:3] 

riferimento alla NumPy indicizzazione e affettamento articolo - Indexing & Slicing

Problemi correlati