Quiero crear una matriz con dtype=np.object
, donde cada elemento es una matriz con un tipo numérico, por ejemplo, int o float. Por ejemplo:matriz de objetos numerados de matrices numéricas
>>> a = np.array([1,2,3])
>>> b = np.empty(3,dtype=np.object)
>>> b[0] = a
>>> b[1] = a
>>> b[2] = a
crea lo que quiero:
>>> print b.dtype
object
>>> print b.shape
(3,)
>>> print b[0].dtype
int64
pero me pregunto si no hay una manera de escribir líneas 3 a 6 en una línea (sobre todo porque puede ser que quiera para concatenar 100 matrices). Probé
>>> b = np.array([a,a,a],dtype=np.object)
pero esto en realidad convierte todos los elementos para np.object:
>>> print b.dtype
object
>>> print b.shape
(3,)
>>> print b[0].dtype
object
¿Alguien tiene alguna idea de cómo evitar esto?
Esto es agradable y conciso :-) – astrofrog