M1 Info – exemples de manip de tableaux avec numpy

Transcription

M1 Info – exemples de manip de tableaux avec numpy
M1 Info – exemples de manip de tableaux avec numpy
Voici quelques exemples de syntaxe d’utilisation des tableaux numpy.
Ceci ne remplace absolument pas les documentations officielles.
Ceci ne sert qu’à illustrer quelques syntaxes basiques pour l’utilisation de tableaux avancés sous
Python (via la bibliothèque numpy).
Les commentaires du code sont donnés à la volée...
— print donne une version sympathique de visualisation du contenu. Le seul nom de la variable
indique son contenu mais aussi sa structure.
— shape permet de récupérer le dimensionnement du tableau (dimensions de la matrice)
— L’accès aux éléments se fait par indication des rangs (dans chaque dimension) entre crochets,
séparées par des virgules. Lorsqu’on va au delà des dimensions du tableau, l’erreur out of
range apparaı̂t.
— le symbole : permet de définir une plage d’indices (exemples ci-après dans le cas de tableau
1D) :
1. a[ :7] indique les indices de 0 à 6 du tableau a
2. a[0 :2] indique les indices de 0 à 1 du tableau a
3. a[1 :] indique les indices 1 à la fin du tableau a
— Dans le cas des tableaux de dimension supérieure à 2, chaque dimension est séparée des autres
par une virgule, et on accède aux mêmes raccourcis qu’en cas d’une dimension
— Dans les tableaux de dimension supérieure à deux, on peut accéder directement à une colonne,
ou à une ligne.
— Accéder (lecture ou écriture) à un élément se fait par spécification de l’indice de cet élément
sous chaque dimension, indices séparés par des virgules.
— On peut additionner des tableaux entre eux, les soustraire, multiplier, diviser, etc., élément
par élément.
— On peut obtenir le minimum, le max, etc., des valeurs d’un tableau.
— On peut additionner, multiplier, moyenner, etc., les valeurs d’un tableau.
— On peut initialiser un tableau avec des 0 ou des 1 (tout en choisissant le type).
>>> from numpy import *
>>> a = array([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]])
>>> print a
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
>>> a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> a.shape
(3, 4)
>>> a.shape[0]
3
>>> a.shape[1]
4
>>>
>>> a[0,0]
0
>>> a[4,0]
Traceback (innermost last):
File "<stdin>", line 1, in <module>
IndexError: index (4) out of range (0<=index<3) in dimension 0
>>> a[2,1]
9
>>> a[2:3]
Université Aix-Marseille – 2013-2014
M1 Info – exemples de manip de tableaux avec numpy
array([[ 8, 9, 10, 11]])
>>> a
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> print a
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
>>> a[:1, 2:3]
array([[2]])
>>> print a[1:2, 1:3]
[[5 6]]
>>> a[:1, 2:3]
array([[2]])
>>> print a[:1, 2:3]
[[2]]
>>> print a[1:2, 1:3]
[[5 6]]
>>> a[1:2, 1:3]
array([[5, 6]])
>>>
>>> a[:1]
array([[0, 1, 2, 3]])
>>> a[1:3]
array([[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> a[1:]
array([[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> a[0:]
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])
>>> a[2:]
array([[ 8, 9, 10, 11]])
>>> a[1,1] = 54
>>> print a
>>> a[2]
array([ 8, 9, 10, 11])
>>> a[2] = [1,01,10,11]
>>> a
array([[ 0, 1, 2, 3],
[ 4, 54, 6, 7],
[ 1, 1, 10, 11]])
[[ 0 1 2 3]
[ 4 54 6 7]
[ 8 9 10 11]]
>>> f = array([1,2,3,4])
>>> g = array([100,200,300,400])
>>> f+g
array([101, 202, 303, 404])
>>> f-g
array([ -99, -198, -297, -396])
>>> f*g
array([ 100, 400, 900, 1600])
>>> f/g
Université Aix-Marseille – 2013-2014
M1 Info – exemples de manip de tableaux avec numpy
array([0, 0, 0, 0])
>>> g/f
array([100, 100, 100, 100])
>>>f.max()
4
>>> g.min()
100
>>> f.sum()
10
>>> c = zeros(7)
>>> c
array([ 0., 0., 0., 0., 0.,
>>> d = ones(6)
>>> d
array([ 1., 1., 1., 1., 1.,
0.,
0.])
1.])
Bref, il existe de très nombreuses opérations de manipulation de tableaux n-dimensionnels en Python
(via les bibliothèques scipy et numpy).
Pour plus d’information :
http://www.scipy.org/Tentative NumPy Tutorial
Université Aix-Marseille – 2013-2014