Voglio creare una matrice con dtype=np.object
, in cui ogni elemento è una matrice con un tipo numerico, ad esempio int o float. Per esempio:Matrice di oggetti Numpy di matrici numeriche
>>> a = np.array([1,2,3])
>>> b = np.empty(3,dtype=np.object)
>>> b[0] = a
>>> b[1] = a
>>> b[2] = a
crea ciò che voglio:
>>> print b.dtype
object
>>> print b.shape
(3,)
>>> print b[0].dtype
int64
ma mi chiedo se non ci sia un modo per scrivere le linee 3-6 in una linea (tanto più che potrei desiderare di concatenare 100 matrici). Ho provato
>>> b = np.array([a,a,a],dtype=np.object)
, ma questo in realtà converte tutti gli elementi per np.object:
>>> print b.dtype
object
>>> print b.shape
(3,)
>>> print b[0].dtype
object
Qualcuno ha qualche idea su come evitare questo?
Questo è bello e conciso :-) – astrofrog