Array handling is provided to Python by the optional package `NumPy`. `NumPy` derives
from the older module `Numeric` which documentation is available at
`http://nume ric.scipy.org/numpydoc/numdoc.htm`. You will have to pay for the
`NumPy` documentation^{4}, but the `Numeric` one
may be sufficient to begin handling arrays with Python. You can also find an
extensive list of the `NumPy` functions, methods and attributes at `http://www.scipy.org/Numpy_Example_List_With_Doc `.

The type `ndarray` provided by `NumPy` module has a large set of attributes and
methods which can help to deal with these objects. This module also brings many
useful functions.

>>> from numpy import array, reshape >>> a = reshape(array(range(1,25)),(2,3,4)) >>> # integers from 1 to 24 rearranged in a 2x3x4 data cube >>> a array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]]) >>> type(a) <type 'numpy.ndarray'> |

Basic array elements access may be summarized as follows:

>>> a[0] # First subarray through first dimension array([[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]) >>> a[0][1] # Second subarray through first dimension of subarray 'a[0]' array([5, 6, 7, 8]) >>> a[0][1][2] 7 >>> a[0,1,2] # Same as above 7 >>> j = (0,1,2) >>> a[j] # Tuples are valid indices 7 |

>>> a[:] # All subarrays through first dimension, thus 'a' itself array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]]) |

>>> a[0:1] # lower limit is included, upper limit excluded, # thus only a[0] array([[[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12]]]) >>> a[:,1:,:2] # All elements through 1st dimension, # all elements except 1st one (0) through 2nd dimension, # 1st two elements (0 and 1) through 3rd dimension: array([[[ 5, 6], [ 9, 10]], [[17, 18], [21, 22]]]) |

Gildas manager 2014-07-01