So konvertieren Sie ein numpy-array aus 'float64' in 'float'

Wie konvertiere ich eine numpy array vom Typ 'float64' zu geben 'float'? Insbesondere, wie konvertiere ich eine ganze array mit dtype 'float64' zu haben dtype 'float'? Ist das möglich? Die Antwort für Skalare in den Gedanken-zu-sein, die doppelte Frage oben nicht meine Frage.

Bedenken Sie:

>>> type(my_array[0])
<type 'numpy.float64'>

>>> # Let me try to convert this to 'float':
>>> new_array = my_array.astype(float)
>>> type(new_array[0])
<type 'numpy.float64'>

>>> # No luck.  What about this:
>>> new_array = my_array.astype('float')
>>> type(new_array[0])
<type 'numpy.float64'>

>>> # OK, last try:
>>> type(np.inf)
<type 'float'>
>>> # Yeah, that's what I want.
>>> new_array = my_array.astype(type(np.inf))
>>> type(new_array[0])
<type 'numpy.float64'>

Wenn Sie unsicher sind, warum könnte ich dies tun möchten, sehen diese Frage und seine Antworten.

AFAIK float und float64 sind gleichwertig in numpy.
mögliche Duplikate von Umwandlung von numpy dtypes native python-Typen
Auch Sie ignorieren können bestimmte Warnungen, die mit np.errstate, so dass Sie nicht haben, blenden Sie die anderen Warnungen.
ah, OK, ja, das ist cool. danke. ich hatte schon fangen die Warnungen mit der warnings Modul und try/except Blöcke, aber errstate macht scheinen viel besser.
ah, das ist eine gute option, auch. aber ich denke, die beste und klarste, was für mich zu tun, in meinem code ist auszuführen, dass die Subtraktion in eine np.errstate block.

InformationsquelleAutor dbliss | 2015-09-16

Schreibe einen Kommentar