2014-04-21 20 views
16

Bir dizi veri türünün (uint8, uint16, int16, vb.) Numpy dizileriyle çalışıyorum. Bir sayının belirli bir veri türü için bir dizinin sınırları içinde gösterilip gösterilemeyeceğini kontrol etmek istiyorum. Şunlara benzeyen bir şeyler hayal ediyorum:Sayısal veri türü için izin verilen maksimum değer

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

Böyle bir şey var mı? Bu arada, bunun daha önce sorulmasını istediğimi hissediyorum, ancak aramam boş çıktı ve "benzer soruların" hepsi ilgisiz gibi görünüyor.

Düzenleme: Tabii ki, şimdi sordum ki, "ilgili" sorulardan birinin cevabı var. Hata.

cevap

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

docs:

  • np.iinfo (tamsayı türleri için makine limitleri)
  • np.finfo (Kesirli için makine sınırları) bana bu işaret için
+0

teşekkürler. Sorgumla tutarlılık sağlamak için, iinfo'daki argüman im.dtype, im değil. – jdmcbr

5

Tamsayı türleri için numpy.iinfo modelini arıyorsunuz. Belgeler here.

Ayrıca, kayan nokta türleri için numpy.finfo da vardır. Dokümantasyon here.

İlgili konular