मुझे एक विशेष Numpy प्रकार (जैसे np.int64, np.uint32, np.float32, आदि) खोजने में दिलचस्पी है, सभी संभावित मान्य मानों की सीमा क्या है (उदाहरण के लिए np.int32 संख्याओं को 2 ** 31-1 तक स्टोर कर सकते हैं)। बेशक, मुझे लगता है कि कोई सैद्धांतिक रूप से प्रत्येक प्रकार के लिए इसे समझ सकता है, लेकिन क्या अधिक पोर्टेबल कोड सुनिश्चित करने के लिए रन टाइम पर ऐसा करने का कोई तरीका है?वैध numpy मानों की रेंज
24
A
उत्तर
35
एक numpy dicussion सूची से हवाला देते हुए:
That kind of information is available via numpy.finfo() and numpy.iinfo():
In [12]: finfo('d').max
Out[12]: 1.7976931348623157e+308
In [13]: iinfo('i').max
Out[13]: 2147483647
In [14]: iinfo(uint8).max
Out[14]: 255
लिंक यहाँ है: link to numpy discussion group page
19
आप numpy.iinfo(arg).max
numpy.finfo(arg).max
का उपयोग arg
के पूर्णांक प्रकार के लिए अधिकतम मूल्य को खोजने के लिए कर सकते हैं और अधिकतम मूल्य को खोजने के लिए arg
के फ्लोट प्रकारों के लिए।
>>> numpy.iinfo(numpy.uint64).min
0
>>> numpy.iinfo(numpy.uint64).max
18446744073709551615L
>>> numpy.finfo(numpy.float64).max
1.7976931348623157e+308
>>> numpy.finfo(numpy.float64).min
-1.7976931348623157e+308
iinfo
केवल min
और max
प्रदान करता है, लेकिन finfo
भी इस तरह के eps
(सबसे छोटी संख्या> 0 प्रदर्शनीय) और resolution
(arg
के प्रकार की अनुमानित दशमलव संख्या संकल्प) के रूप में उपयोगी मूल्यों प्रदान करता है।