23 votes

Ajouter n zéros à la fin d'un tableau

Je veux ajouter n zéros à un tableau.

Lorsque votre tableau est x, et que vous voulez ajouter 3 zéros à la fin d'un tableau sans créer 2 tableaux :

x = np.array([1.0, 2.0, 1.0, 2.0, 7.0, 9.0, 1.0, 1.0, 3.0, 4.0, 10.0])

J'ai pensé que cette commande serait utile :

x = [x, np.zeros(N)]

Mais j'ai reçu 2 tableaux au lieu d'un grand tableau :

[array([  1.,   2.,   1.,   2.,   7.,   9.,   1.,   1.,   3.,   4.,  10.]),
 array([ 0.,  0.,  0.,  0.])]

Je veux donc créer ce type de tableau :

[array([  1.,   2.,   1.,   2.,   7.,   9.,   1.,   1.,   3.,   4.,  10., 0.,  0.,  0.,  0.])]

Quelqu'un peut-il m'aider avec cette question plutôt simple ?

38voto

Psidom Points 115100

Vous pouvez utiliser numpy.pad qui rembourrent par défaut 0 aux deux extrémités du tableau alors que dans le cas de constant spécifiez le mode pad_width = (0, N) remplit N zéros à droite et rien à gauche :

N = 4
np.pad(x, (0, N), 'constant')
#array([  1.,   2.,   1.,   2.,   7.,   9.,   1.,   1.,   3.,   4.,  10.,
#         0.,   0.,   0.,   0.])

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X