Seite 1 von 1

Typumwandlung von ganzem Array

Verfasst: Montag 23. April 2007, 20:10
von kommando_pimperlepim
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?

Verfasst: Montag 23. April 2007, 20:14
von BlackVivi

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 ^_^

Verfasst: Montag 23. April 2007, 20:28
von kommando_pimperlepim
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.

Verfasst: Montag 23. April 2007, 20:58
von 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])