1
votes

Ajouter un tableau numpy à n éléments

J'ai un tableau numpy et je souhaite ajouter n éléments avec la même valeur jusqu'à ce que la longueur du tableau atteigne 100.

Par exemple

my_array = numpy.array([3, 4, 5])


2 commentaires

Voulez-vous dire que vous ne pouvez pas connaître la longueur du tableau?


Oui, le tableau est généré par une autre fonction.


3 Réponses :


3
votes

Il est important de se rappeler qu'avec les tableaux numpy, vous ne pouvez pas ajouter d'éléments comme vous le pouvez avec des listes. Donc, ajouter des nombres à un tableau n'est pas vraiment la meilleure chose à faire.

Il est préférable de commencer avec un tableau et de remplacer les éléments par de nouvelles données au fur et à mesure qu'elles arrivent. Par exemple:

import numpy as np
MY_SPECIAL_NUMBER = 100
my_array = np.array[3, 4, 5]
my_new_array = np.ones(100) * MY_SPECIAL_NUMBER
my_new_array[:my_array.size] = my_array

my_new_array est maintenant ce que vous voulez.


0 commentaires

0
votes

Si vous "ne pouvez" pas connaître la taille de votre mystérieux tableau:

fillvalue=9
padding=numpy.ones(100)*fillvalue
newarray=numpy.append(myarray, padding)
newarray=newarray[:100]


0 commentaires

4
votes

Il y a deux façons d'aborder cela: concaténer des tableaux ou les assigner.

Vous pouvez utiliser np.concatenate et générer un tableau de taille appropriée:

a100 = numpy.full(100, 9)
my_array = # as you defined it
a100[0:len(my_array)] = my_array

Alternativement , vous pouvez créer un np. complet , puis écrasez certaines des valeurs en utilisant la notation de tranche:

my_array = # as you defined it
remainder = [9] * (100 - len(my_array))
remainder = np.array(remainder)
a100 = np.concatenate((my_array, remainder))


0 commentaires