2014-04-21 37 views
16

Tôi đang làm việc với các mảng có nhiều mảng dữ liệu (uint8, uint16, int16, v.v.). Tôi muốn có thể kiểm tra xem một số có thể được biểu diễn trong giới hạn của một mảng cho một kiểu dữ liệu đã cho hay không. Tôi đang tưởng tượng một cái gì đó trông giống như:Giá trị tối đa cho phép đối với loại dữ liệu gumpy

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

Có điều gì như thế này tồn tại? Nhân tiện, tôi cảm thấy như thế này đã được yêu cầu trước đó, nhưng tìm kiếm của tôi đã trống rỗng, và tất cả các "câu hỏi tương tự" dường như không liên quan.

Chỉnh sửa: Tất nhiên, bây giờ tôi đã hỏi, một trong những câu hỏi "có liên quan" có câu trả lời. Rất tiếc.

Trả lời

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

tài liệu:

  • np.iinfo (giới hạn máy với nhiều loại nguyên)
  • np.finfo (giới hạn máy với nhiều loại dấu chấm động)
+0

Cảm ơn chỉ cho tôi đến đây. Để nhất quán với câu hỏi của tôi, đối số trong iinfo phải là im.dtype, chứ không phải im. – jdmcbr

5

Bạn đang tìm kiếm numpy.iinfo cho các loại số nguyên. Tài liệu here.

Ngoài ra còn có numpy.finfo cho các loại điểm động. Tài liệu here.

Các vấn đề liên quan