2014-04-21 15 views
16

Pracuję z numpy tablicami z zakresu typów danych (uint8, uint16, int16, itp.). Chciałbym móc sprawdzić, czy liczba może być reprezentowana w granicach tablicy dla danego typu danych. Wyobrażam sobie coś, co wygląda:Maksymalna dopuszczalna wartość dla typu danych numpy

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

Czy coś takiego istnieje? Przy okazji, mam wrażenie, że to było wcześniej zadawane, ale moje poszukiwania wyszły pusto, a wszystkie "podobne pytania" wydają się nie mieć ze sobą związku.

Edycja: Oczywiście, teraz, gdy zadałem pytanie, jedno z "powiązanych" pytań ma odpowiedź. Ups.

Odpowiedz

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

docs:

  • np.iinfo (limity dla maszyn typu Integer)
  • np.finfo (limity maszynowe dla pływających typów punkt)
+0

dziękuję za wskazanie mi do tego. Dla spójności z moim pytaniem, argumentem w iinfo powinien być im.dtype, a nie im. – jdmcbr

5

Poszukujesz numpy.iinfo dla typów całkowitych. Dokumentacja here.

Istnieje również numpy.finfo dla typów zmiennoprzecinkowych. Dokumentacja here.

Powiązane problemy