Hallo zusammen,
ich habe eine Frage zu numpy-arrays.
Wie kann ich einen Array auf einen bestimmten Wert durchforsten und diesen Wert falls er gefunden wird ausgeben bzw. manipulieren. Allerdings ohne eine Schleife zu verwenden.
Mit arr.any() kann ich auf einen Wert prüfen. Aber wie kann ich dann die gefundenen manipulieren.
Danke für die Hilfe
numpy-array: Werte extrahieren
Danke.
Das werde ich mir auf jeden Fall mal genauer ansehen. Einen Teil des Problems sollte es auf jeden Fall lösen. Wenn man einen genauen Zahlenwert angibt auf den er prüft, dann sollte es mit
funktionieren. Wie man Wertebereiche maskiert denke ich werde ich dann auch noch finden
Das werde ich mir auf jeden Fall mal genauer ansehen. Einen Teil des Problems sollte es auf jeden Fall lösen. Wenn man einen genauen Zahlenwert angibt auf den er prüft, dann sollte es mit
Code: Alles auswählen
import MA
arrx = MA.masked_values(arr, 50217)
arrx filled(arrx, 0)
Ok, so kann man sich täuschen. Mit dem scipy-Array, das ich erzeugt habe hat MA scheinbar Probleme.
Wenn ich das Array innerhalb masked_values() erzeuge, dann läuft es:
Ergebnis:
Einfach das Scipy-Array in ein MA-Array umwandeln und es läuft:
Wenn ich das Array innerhalb masked_values() erzeuge, dann läuft es:
Code: Alles auswählen
x = MA.masked_values ([[1.0, 50217, 3.0, 4.0],[1.0, 50217, 3.0, 4.0],[1.0, 50217, 3.0, 50217]], 50217)
print MA.filled(x, 0)
Code: Alles auswählen
[[ 1., 0., 3., 4.,]
[ 1., 0., 3., 4.,]
[ 1., 0., 3., 0.,]]
Code: Alles auswählen
arrMA = MA.array(arrSCIPY, typecode='i')
x = MA.masked_values (arrMA, 50217)
print MA.filled(arrMA, 0)
Hoi,
Es gibt kein "scipy-array", da scipy das array von numpy nimmt. Und so gibt es auch masked-arrays nur von numpy. matplotlib kann mit masked arrays umgehen (siehe hier, das Beispiel ist von mir, aber etwas veraltet).
Scipy bietet aber "ma" an:
Gruß,
Christian
Es gibt kein "scipy-array", da scipy das array von numpy nimmt. Und so gibt es auch masked-arrays nur von numpy. matplotlib kann mit masked arrays umgehen (siehe hier, das Beispiel ist von mir, aber etwas veraltet).
Scipy bietet aber "ma" an:
Code: Alles auswählen
>>> print ma.__doc__
MA: a facility for dealing with missing observations
MA is generally used as a numpy.array look-alike.
by Paul F. Dubois.
Copyright 1999, 2000, 2001 Regents of the University of California.
Released for unlimited redistribution.
Adapted for numpy_core 2005 by Travis Oliphant and
(mainly) Paul Dubois.
>>> dir(ma) #sollte Einiges anbieten, was Dein Herz höher schlagen läßt, oder?
Christian
Bin noch ein Newbie was Python angeht. Wusste das mit dir() garnicht. Das eröffnet ja ungeahnte Möglichkeiten. Danke für den Hinweis.
Das ist im Prinzip das was ich suchte.
Code: Alles auswählen
arrMA = MA.masked_greater(arrMA,4095)