Typumwandlung von ganzem Array

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
kommando_pimperlepim
User
Beiträge: 23
Registriert: Dienstag 3. April 2007, 05:32

ich würde gerne einen Array mit Fließkommazahlen in einen mit Integers umwandeln, so nach dem Motto

Code: Alles auswählen

from numpy import *

x=arange(4)+0.2
x=int(x) #funktioniert nicht
Weiß jemand, wie sich das machen lässt?
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Code: Alles auswählen

for y in x:
	x[y] = str(y)
Würd ich machen oO''! Aber gibt sicherlich was besseres.

Code: Alles auswählen

from numpy import *
Ist außerdem nicht schön.

Code: Alles auswählen

import numpy
ist viel schöner ^_^
kommando_pimperlepim
User
Beiträge: 23
Registriert: Dienstag 3. April 2007, 05:32

Das klappt so leider nicht ganz, weil y nicht der index ist. Klar im arange-Beispiel schon, aber ich würde das gerne für beliebige Arrays können. Das arange-Beispiel habe ich nur gewählt, um das Problem kurz darzustellen.
BlackJack

Numpy-Arrays haben eine `astype()`-Methode:

Code: Alles auswählen

In [83]: x = numpy.arange(4) + 0.2

In [84]: x
Out[84]: array([ 0.2,  1.2,  2.2,  3.2])

In [85]: x.astype(int)
Out[85]: array([0, 1, 2, 3])
Antworten