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])
3 Réponses :
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.
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]
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))
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.