Soit 2 matrices M et N de même taille, pour copier une ligne i de M dans N on peut utiliser la syntaxe suivante:
N[i,:] = M[i,:]
Tableau de même taille
Exemple avec i = 2:
>>> import numpy as np
>>> M = np.array([[2,7,1],[3,3,1],[5,4,2],[0,1,8]])
>>> M
array([[2, 7, 1],
[3, 3, 1],
[5, 4, 2],
[0, 1, 8]])
>>> M.shape
(4, 3)
>>> N = np.zeros((4,3))
>>> N
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
>>> N[2,:] = M[2,:]
>>> N
array([[0., 0., 0.],
[0., 0., 0.],
[5., 4., 2.],
[0., 0., 0.]])
Tableau de tailles différentes (N colonnes > M colonnes)
>>> 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.]])
Tableau de tailles différentes (N colonnes < M colonnes)
>>> 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
Lien | Source |
---|---|
Copy numpy array into part of another array | stackoverflow |
How to copy data from a numpy array to another | stackoverflow |
Copy numpy array into part of another array | stackoverflow |