J'ai un tableau numpy que j'ai initialisé et qui ressemble à ceci:
pulse[0][0][0] = 1 pulse[0][1:10001][0] = data
Je veux remplir ce tableau avec des données que je lis à partir d'un fichier. Voici un exemple de la façon dont je veux le remplir:
pulse = np.ndarray(shape = (300, 10001, 3), dtype = float)
où data est un tableau de 10000 éléments.
Cela pourrait-il être fait en utilisant append ou une autre fonction de numpy?
3 Réponses :
Le problème avec votre approche actuelle est que vous affectez à une copie des données, et par conséquent, le tableau d'origine reste inchangé. À la place, attribuez-lui une vue du tableau (appelée attribution de tranche ), de cette façon vous modifierez sur place:
pulse[0, 1:10001, 0] = data
Cela devrait fonctionner:
pulse[0,0,0]= 1 pulse[0,1:1001,0]= data
pulse[0][0][0] = 1 pulse[0][1:10001][0] = data this will work. the dimension of data must be exactly the size of the slice. Also instead of assigning an array, if you assign a constant, all the elements in the slice will be assigned that value.
Je vous recommande également de vérifier scipy-cookbook.readthedocs.io/items/ViewsVsCopies. html
@yatu Merci pour la recommandation! J'aurai un meilleur regard dessus