numpy.r_[array[], array[]]
This is used to combine any number of slices of the array along the axis of the (first) row. This is an easy way to quickly and efficiently create arrays.
For example, to create an array of two different arrays by selecting the elements of your choice, we will need to assign the sliced values to the new varaible and use the concatenation method to connect them along the axis.
>>> 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]])
I want to create a new 2-D array with 2 * 2 elements ([4,5,14,15]), then I have to do the following,
>>> slided_a = a[1,1:3] >>> sliced_b = b[1,1:3] >>> new_array = np.concatenate((sliced_a, sliced_b), axis = 0)
Since this is clearly an inefficient method, as with the increase in the number of elements to be included in the new array, the temporary variables that are assigned to store the selected values increase.
Here we use np.r_
>>> c = np.r_[a[1,1:3],b[1,1:3]] array([ 4, 5, 14, 15])
Similarly, if we want to create a new array by adding the sliced values along the 2nd axis, we can use np.c_
>>> c = np.c_[a[1,1:3],b[1,1:3]] array([[ 4, 14], [ 5, 15]])