2016-06-21 22 views
6

Come accedere al dizionario all'interno della matrice?Dizionario in una serie numpy?

import numpy as np 
x = np.array({'x': 2, 'y': 5}) 

Il mio pensiero iniziale:

x['y'] 

Index Error: not a valid index

x[0] 

Index Error: too many indices for array

risposta

7

Si dispone di un array 0-dimensionale oggetto DTYPE. Fare questo array a tutti è probabilmente un errore, ma se si desidera utilizzarlo in ogni caso, è possibile estrarre il dizionario indicizzando la matrice con una tupla di no indici:

x[()] 

o chiamando il metodo della matrice item:

x.item() 
+0

Così semplice: P +1 – linusg

+0

Ah, vedo grazie perfetto! –

0

Se si aggiunge parentesi quadre per l'assegnazione array che si avrà una matrice 1-dimensionale:

x = np.array([{'x': 2, 'y': 5}]) 

allora si potrebbe usare:

x[0]['y'] 

Credo che avrebbe più senso.