Strides are the indexing scheme in NumPy arrays, and indicate the number of bytes to jump to find the next element. We all know the performance improvements of NumPy come from a homogeneous multidimensional array object with fixed-size items, the numpy.ndarray
object. We've talked about the shape
(dimension) of the ndarray
object, the data type, and the order (the C-style row-major indexing arrays and the Fortran style column-major arrays.) Now it's time to take a closer look at strides.
Let's start by creating a NumPy array and changing its shape to see the differences in the strides.
Create a NumPy array and take a look at the strides:
In [1]: import numpy as np In [2]: x = np.arange(8, dtype = np.int8) In [3]: x Out[3]: array([0, 1, 2, 3, 4, 5, 6, 7]) In [4]: x.strides Out[4]: (1,) In [5]: str(x.data) Out[5]: '\x00\x01\x02\x03\x04\x05\x06\x07'
A one-dimensional array
x
is created and its...