Fusionar / concatenar matrices con diferentes elementos.

¿Cómo fusionar una mezcla de diferentes elementos (estilo matlab) en numpy ?

[array([ 0.]), 0.0, 0.0011627, 0.0, 2.69, 0.0, array([ 3.8269, 7.0184]), array([ 4.4e-16, 2.1e+00])]

(Intenté np.concatenate , pero obviamente solo toma matrices como entrada). Básicamente, quiero concatenar dinámicamente elementos de un vector mediante la indexación. Lo intenté:

  V = np.array([1,2,3,4,5,6]) Y = np.array([7,8,9,10,11,12]) Z = np.array([V[0:2],Y[0],V[3],Y[1:3],V[4:],Y[4:]]) 

Funciona, pero tiene elementos de matriz en su interior. Solo quiero un vector plano de números (estilo Matlab) ya que luego hago una matriz (llamada RES) con un montón de estos vectores. Incluso un simple

  np.savetxt('TT',RES,fmt='%1.1e') 

Falla porque espera flotadores y no matrices dentro.

Supongo que esto debería ser simple. np.hstack hace el trabajo. Pero, ¿hay alguna otra manera fácil de hacer indexación y combinación de vectores y escalares al estilo Matlab?

Podrías usar np.r_ :

 In [32]: Z = np.r_[V[0:2],Y[0],V[3],Y[1:3],V[4:],Y[4:]] In [33]: Z Out[33]: array([ 1, 2, 7, 4, 8, 9, 5, 6, 11, 12])