Il 5 febbraio 2015 14:43, Pietro <peter.z...@gmail.com> ha scritto: > 2015-02-05 13:16 GMT+01:00 Marco Ippolito <ippolito.ma...@gmail.com>: >> il mio obiettivo è avere un numpy array tri-dimensionale del tipo: >>>>> obiettivo = np.array([[[1,2],[3,4]], [[5,6],[7,8],[9,10]]]) >>>>> np.shape(obiettivo) >> (2,) >>>>> obiettivo[0] >> [[1, 2], [3, 4]] >>>>> obiettivo[1] >> [[5, 6], [7, 8], [9, 10]] >>>>> np.shape(obiettivo[1]) >> (3, 2) >>>>> np.shape(obiettivo[0]) >> (2, 2) >> Il problema è che, non so per quale motivo, il dtype diventa 'object': > > Gli array devono avere delle dimensioni (shape) ben definite e non > variabili c e d hanno shape diverse... > > Il tuo obbiettivo non é altro che un array di liste, le liste sono > object, e quindi il tuo dtype diventa object.
ciao Pietro, grazie per le tue spiegazioni. E' come dici tu: >>> type(obiettivo[0]) <type 'list'> Però, se il primo elemento di obiettivo, cioè obiettivo[0], è effettivamente una lista, non dovrebbe "funzionare" np.shape (adatto per gli array), e non dovrebbe darmi come shape (2,2).....o mi sbaglio? >>> obiettivo[0] [[1, 2], [3, 4]] >>> np.shape(obiettivo[0]) (2, 2) Sai per caso Pietro come si fa a "ri-convertire" la lista obiettivo[0] in numpy array? Marco PS: scusami Carlos per aver scritto una domanda piuttosto lunga ed articolata (non volevo tralasciare pezzi importanti) > >> C'è un modo per ottenere un array numpy tri-dimensionale(z,x,y) a >> partire da numpy array bidimensionali(x,y) con y variabile, mantenendo >> lo stesso dtype dei numpy array bidimensionali iniziali? > > si, purchè lo shape degli array che vuoi unire siano consistenti. > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python