Seite 1 von 1

numpy negative werte auf null setzen

Verfasst: Mittwoch 22. Juni 2011, 18:10
von Xynon1
Ich möchte alle negativen Werte in einem numpy-Array auf 0 setzen, gibt es dafür in numpy eine schlichte Methode, die ich einfach nicht finden kann, oder muss ich das Array durchlaufen lassen?
Bevor ich mir irgendeine weniger effiziente Funktion baue wollte ich erstmal Nachfragen, meist überrascht mich numpy dann doch wieder mit Möglichkeiten die ich nicht mal erahnen konnte. :D

Re: numpy negative werte auf null setzen

Verfasst: Mittwoch 22. Juni 2011, 18:40
von karolus
Hallo
Ich finde da numpy.maximum(.,.) füttere die mal mit deinem array und einem gleichgrossen [0]-array

Gruß Karo

Re: numpy negative werte auf null setzen

Verfasst: Mittwoch 22. Juni 2011, 18:51
von Xynon1
Danke, das war genau das richtige.
Edit: Es reicht auch eine einfache Null als zweiter Parameter, es muss kein Null-Array sein.

Re: numpy negative werte auf null setzen

Verfasst: Donnerstag 23. Juni 2011, 16:45
von HerrHagen
Der allgemeine und IMHO einfachere Weg sieht eher so aus:

Code: Alles auswählen

>>> import numpy
>>> a = numpy.random.randint(-9, 9, 10)
>>> a
1: array([-9,  4,  6,  5, -6, -2, -9, -1,  5, -9])
>>> a[a<0] = 0
>>> a
2: array([0, 4, 6, 5, 0, 0, 0, 0, 5, 0])

Re: numpy negative werte auf null setzen

Verfasst: Donnerstag 23. Juni 2011, 17:38
von Xynon1
Gefällt mir auch gleich nochmal besser, danke dir :D