Il existe de nombreuses façons de construire le nouveau tableau.
Vous pourriez initialiser le tableau avec la forme et le remplissage appropriés, et copier les valeurs :
In [402]: arr = np.arange(1,10).reshape(3,3)
In [403]: arr
Out[403]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
In [404]: res = np.ones((3,3,2),int)
In [405]: res[:,:,1] = arr
In [406]: res
Out[406]:
array([[[1, 1],
[1, 2],
[1, 3]],
[[1, 4],
[1, 5],
[1, 6]],
[[1, 7],
[1, 8],
[1, 9]]])
Vous pourriez joindre le tableau avec un tableau de taille similaire de 1. concatenate
est la fonction d'assemblage de base :
In [407]: np.concatenate((np.ones((3,3,1),int), arr[:,:,None]), axis=2)
Out[407]:
array([[[1, 1],
[1, 2],
[1, 3]],
[[1, 4],
[1, 5],
[1, 6]],
[[1, 7],
[1, 8],
[1, 9]]])
np.stack((np.ones((3,3),int), arr), axis=2)
fait la même chose sous les couvertures. np.dstack
('d' pour profondeur) le fait aussi. Le site insert
dans l'autre réponse fait également cela.