Remplacer une ligne d'un tableau par la ligne d'un autre tableau en python


Exemple de comment remplacer une ligne d'un tableau par la ligne d'un autre tableau avec numpy de python, ici remplacement de ligne d'indice 2 de la matrice N par la ligne d'indice 2 de la matrice M

>>> import numpy as np
>>> M = np.array([[2,7,1],[3,3,1],[5,4,2],[0,1,8]])
>>> N = np.zeros((6,3))
>>> N[2,:] = M[2,:]
>>> N
array([[ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 5.,  4.,  2.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.],
       [ 0.,  0.,  0.]])

cas ou la matrice N n'a pas le même nombre de colonnes que M:

>>> import numpy as np
>>> M = np.array([[2,7,1],[3,3,1],[5,4,2],[0,1,8]])
>>> N = np.zeros((6,4))
>>> M_dim_2 = M.shape[1]
>>> N_dim_2 = N.shape[1]
>>> M_dim_2
3
>>> N_dim_2
4
>>> if N_dim_2 > M_dim_2:
...     N[2,:M_dim_2] = M[2,:] 
... 
>>> N
array([[ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.],
       [ 5.,  4.,  2.,  0.],
       [ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.]])

>>> N = np.zeros((6,2))
>>> N_dim_2 = N.shape[1]
>>> N_dim_2
2
>>> if N_dim_2 < M_dim_2:
...     N[2,:] = M[2,:N_dim_2] 
... 
>>> N
array([[ 0.,  0.],
       [ 0.,  0.],
       [ 5.,  4.],
       [ 0.,  0.],
       [ 0.,  0.],
       [ 0.,  0.]])

Références