Time for action – slicing and indexing multidimensional arrays
The ndarray
class supports slicing over multiple dimensions. For convenience, we refer to many dimensions at once, with an ellipsis.
- To illustrate, create an array with the
arange()
function and reshape it:In: b = arange(24).reshape(2,3,4) In: b.shape Out: (2, 3, 4) In: b Out: array([[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]], [[12, 13, 14, 15], [16, 17, 18, 19], [20, 21, 22, 23]]])
The array
b
has24
elements with values0
to23
and we reshaped it to be a two-by-three-by-four, three-dimensional array. We can visualize this as a two-story building with 12 rooms on each floor, 3 rows and 4 columns (alternatively we can think of it as a spreadsheet with sheets, rows, and columns). As you have probably guessed, thereshape()
function changes the shape of an array. We give it a tuple of integers, corresponding to the new shape. If the dimensions are not compatible with the...