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

Exemple de comment remplacer une colonne d'un tableau par la colonne d'un autre tableau avec numpy de python, ici remplacement de la colonne d'indice 1 de la matrice N par la colonne 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]])
>>> 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.]])

Cas ou le tableau N a plus de ligne 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.]])

Cas ou le tableau N a moins de ligne 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