È possibile avere un array di record 3D in numpy? (Forse questo non è possibile, o c'è semplicemente un modo più semplice di fare le cose - sono aperto ad altre opzioni).matrice di record numpy 3D
Si supponga di volere un array che contiene dati per 3 variabili (ad esempio temp, precip, umidità) e che i dati di ciascuna variabile sono in realtà una matrice 2-d di 2 anni (righe) e 6 mesi di dati (colonne), potrei creare che in questo modo:
>>> import numpy as np
>>> d = np.array(np.arange(3*2*6).reshape(3,2,6))
>>> d
#
# comments added for explanation...
# jan feb mar apr may Jun
array([[[ 0, 1, 2, 3, 4, 5], # yr1 temp
[ 6, 7, 8, 9, 10, 11]], # yr2 temp
[[12, 13, 14, 15, 16, 17], # yr1 precip
[18, 19, 20, 21, 22, 23]], # yr2 precip
[[24, 25, 26, 27, 28, 29], # yr1 humidity
[30, 31, 32, 33, 34, 35]]]) # yr2 humidity
mi piacerebbe essere in grado di digitare:
>>> d['temp']
e ottenere questo (la prima "pagina" dei dati):
>>> array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11]])
o:
>>> d['Jan'] # assume months are Jan-June
e ottenere questo
>>> array([[0,6],
[12,18],
[24,30]])
Sono stato con questo: http://www.scipy.org/RecordArrays un certo numero di volte, ma non vedo come ha installato quello che sono dopo.
hmm, ok, che convalida in parte la mia confusione. Panda sembra ideale, grazie! – tbc