Simón, miembro de nuestro staff, nos ha hecho el favor de crear este enunciado porque domina a la perfección el tema.
Solución:
Lo que hace es fusionar por filas. Esta publicación tiene un buen ejemplo:
>>>V = array([1,2,3,4,5,6 ])
>>>Y = array([7,8,9,10,11,12])
>>>np.r_[V[0:2],Y[0],V[3],Y[1:3],V[4:],Y[4:]]
array([ 1, 2, 7, 4, 8, 9, 5, 6, 11, 12])
Lea más sobre esto en este y en la documentación de numpy.
numpy.r_[array[], array[]]
Se utiliza para concatenar cualquier número de array rebanadas a lo largo del eje de la fila (primera). Esta es una forma sencilla de crear matrices numpy de forma rápida y eficiente.
Por ejemplo, para crear un array de dos matrices diferentes seleccionando los elementos de su elección, tendremos que asignar los valores cortados a una nueva variable y usar el método de concatenación para unirlos a lo largo de un eje.
>>> a = np.arange(9).reshape(3,3)
>>> b = np.arange(10,19).reshape(3,3)
>>> a
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
>>> b
array([[10, 11, 12],
[13, 14, 15],
[16, 17, 18]])
Quiero crear un nuevo 2-D arraycon 2*2 elementos ([4,5,14,15]) entonces, tendré que hacer lo siguiente,
>>> slided_a = a[1,1:3]
>>> sliced_b = b[1,1:3]
>>> new_array = np.concatenate((sliced_a, sliced_b), axis = 0)
Como esta es claramente una forma ineficiente porque, como la cantidad de elementos que se van a incluir en el nuevo array aumenta, las variables temporales que se asignan para almacenar los valores divididos aumentan.
Aquí es donde usamos np.r_
>>> c = np.r_[a[1,1:3],b[1,1:3]]
array([ 4, 5, 14, 15])
Asimismo, si queremos crear una nueva array al apilar los valores divididos en el segundo eje, podemos usar np.c_
>>> c = np.c_[a[1,1:3],b[1,1:3]]
array([[ 4, 14],
[ 5, 15]])
Si crees que ha sido de provecho nuestro post, sería de mucha ayuda si lo compartieras con más programadores de esta forma nos ayudas a extender nuestra información.