Numpy arrays : j'ai des problème à le remplir
Résolu
Lecodeurhtmlcss
Messages postés
76
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis sur python et je travaille sur un array à deux dmensions, mais il ne veut définitivement pas se remplir. Je commence par le créer vide
puis j'ajoute des valeurs
à plusieurs reprises. En gros, j'ajoute à chaque fois une ligne comprenant la place du caractère et la probabilité qui lui est associée.
Ensuite, j'écris le tableau avec
Code total si ça peut être utile :
Voilà, merci beaucoup pour votre aide (désolé, je n'ai pas utilisé numpy avant !)
Je suis sur python et je travaille sur un array à deux dmensions, mais il ne veut définitivement pas se remplir. Je commence par le créer vide
probs = np.array([[],[]])
puis j'ajoute des valeurs
np.append(probs,occurrences[i],float(calcul compliqué...))
à plusieurs reprises. En gros, j'ajoute à chaque fois une ligne comprenant la place du caractère et la probabilité qui lui est associée.
Ensuite, j'écris le tableau avec
print(probs)... quelle n'est pas ma surprise quand je vois qu'il est vide ! Pourtant les valeurs contiennent bien quelque chose (j'ai testé, si je met
print(les valeurs)juste avant le
np.append, elles y sont bien. Erreur d'écriture ? Mal adapté au numpy ? Confusion due aux arrays ? Qu'est-ce qui cause ce vide intersidéral dans mon tableau "probs" ?
Code total si ça peut être utile :
#Mise des probabilités dans une liste i=0 probs = np.array([[],[]]) print("le tableau vide est : " + str(probs)) for i in range(nbroccu): print("vérifions la proba à l'occurence" + str(occurrences[i]) ) if str(data[int(occurrences[i]+11)]) == ".": #Si le nombre a des décimales if str(data[int(occurrences[i]+13)]) == "]": # Si le nombre a 1 décimale seulement print("le nombre à une décimale " + str(data[int(occurrences[i]+10)]) + str(data[int(occurrences[i]+11)]) + str(data[int(occurrences[i]+12)]) +"va être ajouté") np.append(probs,occurrences[i],float (str(data[int(occurrences[i]+10)]) + str(data[int(occurrences[i]+11)]) + str(data[int(occurrences[i]+12)])) ) else: print("le nombre à deux décimale" + str(data[int(occurrences[i]+10)]) +str(data[int(occurrences[i]+11)]) + str(data[int(occurrences[i]+12)]) +str(data[int(occurrences[i]+13)]) + " va être ajouté") np.append(probs,[occurrences[i],float (str(data[int(occurrences[i]+10)]) +str(data[int(occurrences[i]+11)]) + str(data[int(occurrences[i]+12)]) +str(data[int(occurrences[i]+13)])) ]) else: print("le nombre " +str(data[int(occurrences[i]+10)]) + "va être ajouté") np.append(probs,[occurrences[i],float (str(data[int(occurrences[i]+10)])) ]) print(probs)
Voilà, merci beaucoup pour votre aide (désolé, je n'ai pas utilisé numpy avant !)
Configuration: Windows / Chrome 88.0.4324.182
A voir également:
- Numpy arrays : j'ai des problème à le remplir
- Numpy matrice singulière ✓ - Forum Python
- Installer numpy et matplotlib - Forum Python
- Créer une matrice python sans numpy - Forum Python
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
as-tu lu la documentation de append() de numpy?
as-tu essayé avec un programme plus simple?
un exemple:
as-tu lu la documentation de append() de numpy?
as-tu essayé avec un programme plus simple?
un exemple:
import numpy as np probs = np.array([]) print(probs) np.append(probs,123) print(probs) probs=np.append(probs,456) print(probs)
Lecodeurhtmlcss
Messages postés
76
Date d'inscription
Statut
Membre
Dernière intervention
2
Merci beaucoup ! J'ai par ailleurs résolu les problèmes de dimension, et d'axes ! Je mes dès que possible un petit produit de mon programme...