Exemple NumPy¶

In [1]:
import numpy as np
In [2]:
arr = np.array([
    [12.1, -23.9],
    [3.91, -20.1],
    [2.12, -7.93],
])

Connaitre la taille du tableau¶

In [3]:
arr.size # Nombre d'éléments
Out[3]:
6
In [4]:
arr.shape # Dimensions : (3 lignes, 2 colonnes)
Out[4]:
(3, 2)

Appliquer une opération à l'ensemble du tableau¶

In [5]:
arr2 = arr * 3
arr2
Out[5]:
array([[ 36.3 , -71.7 ],
       [ 11.73, -60.3 ],
       [  6.36, -23.79]])

Transposé¶

In [6]:
arr.T
Out[6]:
array([[ 12.1 ,   3.91,   2.12],
       [-23.9 , -20.1 ,  -7.93]])

ou aussi

Produit terme à terme :¶

In [7]:
arr * arr2
Out[7]:
array([[ 439.23  , 1713.63  ],
       [  45.8643, 1212.03  ],
       [  13.4832,  188.6547]])

Produit matriciel¶

In [8]:
arr.dot(arr2.T)
Out[8]:
array([[2152.86  , 1583.103 ,  645.537 ],
       [1583.103 , 1257.8943,  503.0466],
       [ 645.537 ,  503.0466,  202.1379]])

ou aussi

In [9]:
arr @ arr2.T
Out[9]:
array([[2152.86  , 1583.103 ,  645.537 ],
       [1583.103 , 1257.8943,  503.0466],
       [ 645.537 ,  503.0466,  202.1379]])

Accéder à une valeur¶

In [10]:
arr[1, 1]
Out[10]:
-20.1

Découpage (slicing)¶

In [11]:
# Les valeurs de la 2ème colonne (indice 1),
# sur les deux premières lignes (de l'indice 0 à l 'indice 2, exclu)
arr[0:2, 1]
Out[11]:
array([-23.9, -20.1])

Sélection d'éléments¶

In [12]:
arr[arr > 0]
Out[12]:
array([12.1 ,  3.91,  2.12])

Modification de la forme du tableau¶

In [13]:
arr.reshape(6, 1)
Out[13]:
array([[ 12.1 ],
       [-23.9 ],
       [  3.91],
       [-20.1 ],
       [  2.12],
       [ -7.93]])
In [14]:
arr.reshape(1, 6)
Out[14]:
array([[ 12.1 , -23.9 ,   3.91, -20.1 ,   2.12,  -7.93]])

Modifier une partie du tableau¶

In [15]:
# Division (inplace) de tous les éléments de la
# deuxième colonne (indice 1) par 3
arr[:,1] /= 3
arr
Out[15]:
array([[12.1       , -7.96666667],
       [ 3.91      , -6.7       ],
       [ 2.12      , -2.64333333]])

Création de tableaux "spécifiques"¶

In [16]:
# Un tableau de "zéros"
np.zeros((5, 3))
Out[16]:
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]])
In [17]:
# Un tableau de "uns"
np.ones((3, 4))
Out[17]:
array([[1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.]])
In [18]:
# Éléments régulièrement espacés
np.linspace(1., 4., 6) # Premier, dernier, nombre d'éléments
Out[18]:
array([1. , 1.6, 2.2, 2.8, 3.4, 4. ])
In [19]:
# 100 valeurs entre 0 et 1
np.random.uniform(0, 1, 100) 
Out[19]:
array([0.63207267, 0.25334413, 0.62003443, 0.03595847, 0.53132963,
       0.98929467, 0.55196562, 0.6271361 , 0.78922376, 0.85986802,
       0.55022017, 0.34820391, 0.87325921, 0.88120906, 0.0928646 ,
       0.03215813, 0.76018001, 0.56725939, 0.26273091, 0.73608724,
       0.65014426, 0.97053762, 0.21067506, 0.19392623, 0.85192539,
       0.84305554, 0.31528744, 0.79967469, 0.20578471, 0.705804  ,
       0.77886568, 0.21494412, 0.57540145, 0.4377488 , 0.0106107 ,
       0.08490238, 0.93815511, 0.64729312, 0.10871478, 0.2365647 ,
       0.02423401, 0.32673054, 0.61410024, 0.30952019, 0.81085005,
       0.93957738, 0.81768011, 0.93074419, 0.03303403, 0.55730521,
       0.03419084, 0.0299661 , 0.68506768, 0.04243119, 0.96528473,
       0.80502653, 0.45657009, 0.84375038, 0.11043918, 0.4457668 ,
       0.93362206, 0.5987174 , 0.03524744, 0.65094551, 0.70152016,
       0.56085846, 0.32847674, 0.56248707, 0.86226929, 0.86645534,
       0.34363201, 0.63157005, 0.85027666, 0.67482198, 0.58839083,
       0.62920844, 0.70104599, 0.14273936, 0.27463275, 0.52787363,
       0.04550776, 0.76649426, 0.42965392, 0.43599553, 0.7679043 ,
       0.10330457, 0.82464557, 0.85733916, 0.95532237, 0.56893847,
       0.98937443, 0.46658664, 0.27754862, 0.24940971, 0.84281207,
       0.68464254, 0.97639498, 0.70109829, 0.42213889, 0.65796999])
In [ ]:
 
In [ ]: