Opérateurs

Get

Slicing

Les opérations de slicing s’appliquent sur les arrays, et on peut les appliquer sur plusieurs dimensions.


Assignation

On peut assigner une valeur donnée aux valeurs sélectionnées:

  # Avec un scalaire
  a    = np.zeros((3,2))
  a[:] = 1
  print(a)
  '''
  [[1. 1.]
   [1. 1.]
   [1. 1.]]
  '''
  # Avec une matrice de même dimension
  a    = np.zeros((3,2))
  a[1] = [1,2]
  print(a)
  '''
  [[0. 0.]
   [1. 2.]
   [0. 0.]]
  '''
  a = np.ones((8,8))
  a[1::2,::2] = 0  # colonnes paires des lignes impaires
  a[::2,1::2] = 0  # colonnes impaires des lignes paires
  print(a)
  '''
  [[1. 0. 1. 0. 1. 0. 1. 0.]
   [0. 1. 0. 1. 0. 1. 0. 1.]
   [1. 0. 1. 0. 1. 0. 1. 0.]
   [0. 1. 0. 1. 0. 1. 0. 1.]
   [1. 0. 1. 0. 1. 0. 1. 0.]
   [0. 1. 0. 1. 0. 1. 0. 1.]
   [1. 0. 1. 0. 1. 0. 1. 0.]
   [0. 1. 0. 1. 0. 1. 0. 1.]]
  '''

Filtre


Broadcasting

Quand on applique un opération arithmétique sur un array avec un scalaire (ex un entier), alors le scalaire est broadcasté, c’est à dire appliqué à l’ensemble des éléments de la matrice — comme si le scalaire était une matrice de même dimension où toutes les valeurs sont égales au scalaire.

print(np.array([1,2,3,4]) + 10) # [11 12 13 14]

De la même manière, si on fournit un array de 1 dimension et un array de n dimensions, alors les deux sont “etirés”.

a = np.array([[0],[1],[2],[3]])
print(a)
'''
[[0]
 [1]
 [2]
 [3]]
'''

b = np.zeros(5)
print(b)
'''
[0. 0. 0. 0. 0.]
'''

print(a + b)
'''
[[0. 0. 0. 0. 0.]
 [1. 1. 1. 1. 1.]
 [2. 2. 2. 2. 2.]
 [3. 3. 3. 3. 3.]]
'''

Arithmérique element-wise