Exemples de comment remplacer (copier) une colonne d'un tableau par la colonne d'un autre tableau en python:
Tableau de même taille
Cas ou les deux tableaux ont la même taille: exemple remplacer la colonne 1 du tableau N par la colonne 2 du tableau M:
>>> 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]])
>>> N = np.zeros((4,6))
>>> N[:,1] = M[:,2]
>>> N
array([[ 0., 1., 0., 0., 0., 0.],
[ 0., 1., 0., 0., 0., 0.],
[ 0., 2., 0., 0., 0., 0.],
[ 0., 8., 0., 0., 0., 0.]])
Tableau de tailles différentes (cas 1)
Cas ou le tableau N à plus de lignes que le tableau M:
>>> 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]])
>>> N = np.zeros((8,6))
>>> M_dim_1 = M.shape[0]
>>> N_dim_1 = N.shape[0]
>>> M_dim_1
4
>>> N_dim_1
8
>>> if N_dim_1 > M_dim_1:
... N[:M_dim_1,1] = M[:,2]
...
>>> N
array([[ 0., 1., 0., 0., 0., 0.],
[ 0., 1., 0., 0., 0., 0.],
[ 0., 2., 0., 0., 0., 0.],
[ 0., 8., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0.]])
Tableau de tailles différentes (cas 2)
Cas ou le tableau N à moins de lignes que le tableau M:
>>> N = np.zeros((3,6))
>>> N_dim_1 = N.shape[0]
>>> N_dim_1
3
>>> if N_dim_1 < M_dim_1:
... N[:,1] = M[:N_dim_1,2]
...
>>> N
array([[ 0., 1., 0., 0., 0., 0.],
[ 0., 1., 0., 0., 0., 0.],
[ 0., 2., 0., 0., 0., 0.]])
Références
Liens | Site |
---|---|
Modify a particular row/column of a NumPy array | stackoverflow |
Numpy replace specific rows and columns of one array with specific rows and columns of another array | stackoverflow |