Tableau Numpy élément-sage de la division (1/x)
Ma question est très simple, supposons que j'ai un tableau comme
array = np.array([1, 2, 3, 4])
et je voudrais faire un tableau comme
[1, 0.5, 0.3333333, 0.25]
Toutefois, si vous écrivez quelque chose comme
1/array
ou
np.divide(1.0, array)
ça ne marchera pas.
Le seul moyen que j'ai trouvé jusqu'à présent est d'écrire quelque chose comme:
print np.divide(np.ones_like(array)*1.0, array)
Mais je ne suis absolument certains qu'il existe une meilleure façon de le faire. Quelqu'un aurait-il une idée?
Vous devez vous connecter pour publier un commentaire.
1 /array
fait une division d'entier et renvoiearray([1, 0, 0, 0])
.1. /array
permettra de convertir le tableau de float et de faire le tour:from __future__ import division
au début de votre code, alors il sera toujours effectuer une vraie division avec des nombres entiers. C'est le comportement par défaut de Python 3, c'est la réponse que la plupart des gens s'attendent. Vous pouvez toujours obtenir de l'entier de la division à l'aide de la//
de l'opérateur.J'ai essayé :
et qui semblait fonctionner...
La raison
ne fonctionne pas c'est parce que votre tableau est entiers et
1/<array_of_integers>
n'division entière.Autres façons possibles d'obtenir la réciproque de chaque élément d'un tableau d'entiers:
Utilisation de numpy est réciproque:
Cast: