मैं उस प्रकार के वैध मानों की पूरी श्रृंखला के भीतर Numpy, का उपयोग करके पूर्णांक और फ़्लोट्स के लिए यादृच्छिक 64-बिट पूर्णांक मान उत्पन्न करने का प्रयास कर रहा हूं। यादृच्छिक 32-बिट तैरता उत्पन्न करने के लिए, मैं उपयोग कर सकते हैं:यादृच्छिक int64 और float64 संख्या
In [2]: np.random.uniform(low=np.finfo(np.float32).min,high=np.finfo(np.float32).max,size=10)
Out[2]:
array([ 1.47351436e+37, 9.93620693e+37, 2.22893053e+38,
-3.33828977e+38, 1.08247781e+37, -8.37481260e+37,
2.64176554e+38, -2.72207226e+37, 2.54790459e+38,
-2.47883866e+38])
लेकिन अगर मैं कोशिश करते हैं और 64-बिट संख्या के लिए इस का उपयोग, मैं
In [3]: np.random.uniform(low=np.finfo(np.float64).min,high=np.finfo(np.float64).max,size=10)
Out[3]: array([ Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf])
इसी तरह मिलता है, पूर्णांकों के लिए, मैं सफलतापूर्वक उत्पन्न कर सकते हैं यादृच्छिक 32-बिट पूर्णांकों:
In [4]: np.random.random_integers(np.iinfo(np.int32).min,high=np.iinfo(np.int32).max,size=10)
Out[4]:
array([-1506183689, 662982379, -1616890435, -1519456789, 1489753527,
-604311122, 2034533014, 449680073, -444302414, -1924170329])
लेकिन 64-बिट पूर्णांकों के लिए असफल हूँ:
In [5]: np.random.random_integers(np.iinfo(np.int64).min,high=np.iinfo(np.int64).max,size=10)
---------------------------------------------------------------------------
OverflowError Traceback (most recent call last)
/Users/tom/tmp/<ipython console> in <module>()
/Library/Python/2.6/site-packages/numpy/random/mtrand.so in mtrand.RandomState.random_integers (numpy/random/mtrand/mtrand.c:6640)()
/Library/Python/2.6/site-packages/numpy/random/mtrand.so in mtrand.RandomState.randint (numpy/random/mtrand/mtrand.c:5813)()
OverflowError: long int too large to convert to int
क्या यह अपेक्षित व्यवहार है, या क्या मुझे इन्हें नम्पी में बग के रूप में रिपोर्ट करना चाहिए?
आप हल करने के लिए है कि अंत में सक्षम थे? – Avision