2017-10-11 5 views
1

Étant donné une variable en python de type int, par ex.Comment convertir python int en numpy.int64?

z = 50 
type(z) 
## outputs <class 'int'> 

est-il un moyen simple de convertir cette variable en numpy.int64?

Il semble que l'on doive convertir cette variable en un tableau numpy, puis la convertir en int64. Cela semble assez compliqué.

https://docs.scipy.org/doc/numpy-1.13.0/user/basics.types.html

+2

La vraie question est pourquoi auriez-vous besoin de faire cela? – Julien

+0

@Julien C'est un effet secondaire étrange de certaines fonctions numpy. par exemple. 'z = np.random.geometric (p = 0.35, size = 10000)' donne un 'type' différent de' z = np.random.geometric (p = 0.35) ' – ShanZhengYang

Répondre

3
numpy.int64(z) 

C'est aussi simple que cela. Assurez-vous que vous avez une bonne raison, cependant - sont quelques bonnes raisons de le faire, mais la plupart du temps, vous pouvez simplement utiliser un int directement.

+0

Nice! Juste par curiosité: y a-t-il un exemple simple (un contour suffirait) pour un besoin de cela (je ne doute pas qu'il existe)? – sascha

+1

@sascha: Assurer la gestion de NumPy au lieu de la gestion normale de Python pour des choses comme le débordement, surtout. – user2357112

+0

Merci de votre retour! – sascha

1
import numpy as np 
z = 3 
z = np.dtype('int64').type(z) 
print(type(z)) 

sorties:

<class 'numpy.int64'> 

Mais je soutiens la question Juliens dans son commentaire.