2014-04-21 7 views
16

Ich arbeite mit numpy Arrays einer Reihe von Datentypen (uint8, uint16, int16 usw.). Ich wäre gerne in der Lage zu überprüfen, ob eine Zahl innerhalb der Grenzen eines Arrays für einen bestimmten Datentyp dargestellt werden kann. Ich stelle mir etwas vor, das wie folgt aussieht:Maximal zulässiger Wert für einen numpigen Datentyp

>>> im.dtype 
dtype('uint16') 
>>> dtype_max(im.dtype) 
65535 
>>> dtype_min(im.dtype) 
0 

Gibt es so etwas? Übrigens, ich habe das Gefühl, dass das vorher gefragt werden muss, aber meine Suche kam leer und alle "ähnlichen Fragen" scheinen nicht miteinander verwandt zu sein.

Edit: Natürlich, jetzt, nachdem ich gefragt habe, hat eine der "verwandten" Fragen die Antwort. Hoppla.

Antwort

25
min_value = np.iinfo(im.dtype).min 
max_value = np.iinfo(im.dtype).max 

docs:

  • np.iinfo (Maschinengrenzen für Integer-Typen)
  • np.finfo (Maschinengrenzen für Typen floating point)
+0

Dank für den Hinweis mich, dies zu. Zur Übereinstimmung mit meiner Frage sollte das Argument in iinfo im.dtype sein, nicht im. – jdmcbr

5

Sie suchen nach numpy.iinfo für Integer-Typen. Dokumentation here.

Es gibt auch numpy.finfo für Fließkommatypen. Dokumentation here.

Verwandte Themen