क्या पाइथन में NaN
पर किसी सरणी का तत्व सेट करना संभव है?पायथन नैन और इंफ मान
इसके अतिरिक्त, क्या एक चर को +/- अनंतता सेट करना संभव है? यदि हां, तो क्या यह जांचने के लिए कोई फ़ंक्शन है कि कोई संख्या अनंत है या नहीं? स्ट्रिंग से
क्या पाइथन में NaN
पर किसी सरणी का तत्व सेट करना संभव है?पायथन नैन और इंफ मान
इसके अतिरिक्त, क्या एक चर को +/- अनंतता सेट करना संभव है? यदि हां, तो क्या यह जांचने के लिए कोई फ़ंक्शन है कि कोई संख्या अनंत है या नहीं? स्ट्रिंग से
कास्ट float()
का उपयोग कर:
>>> float('NaN')
nan
>>> float('Inf')
inf
>>> -float('Inf')
-inf
>>> float('Inf') == float('Inf')
True
>>> float('Inf') == 1
False
वह मुझे दूसरी बार प्रश्न पढ़ने से पहले एक कूल्हे के साथ कूदने के लिए सिखाएगा !! माफ़ कीजिये! उस ने कहा, यह इतना कहने में कोई दिक्कत नहीं होगी क्योंकि यह एक आसान जाल है, NaN! = NaN –
यह भी ध्यान दें: >>> फ्लोट ('इन्फ') - फ्लोट ('इन्फ') === > नैन – ntg
अजगर 2.4 का उपयोग कर,
inf = float("9e999")
nan = inf - inf
मैं इस मुद्दे का सामना करना पड़ रहा है जब मैं एक एम्बेडेड उपकरण है जो अजगर 2.4 चलाने के लिए simplejson पोर्टिंग गया था की कोशिश, float("9e999")
यह तय की। inf = 9e999
का उपयोग न करें, आपको इसे स्ट्रिंग से कन्वर्ट करने की आवश्यकता है। -inf
-Infinity
देता है।
क्या पाइथन में नाइन के लिए सरणी का तत्व सेट करना संभव है?
हाँ, आप हमेशा एक NaN
या inf
एक अजगर list
(और इसी तरह) में शामिल कर सकते हैं। हालांकि यदि आप इसे array
(उदाहरण के लिए array.array
या numpy.array
) में शामिल करना चाहते हैं तो सरणी का प्रकारfloat
या complex
होना चाहिए!
math.isnan
जांच करता है कि मूल्य nan
है:
>>> math.isnan(math.nan) # nan
True
>>> import math
>>> import numpy as np
>>> arr = np.ones(1, float) # float array
>>> arr[0] = math.nan
>>> arr
array([ nan])
>>> [math.nan, math.inf, -math.inf] # python list
[nan, inf, -inf]
math
मॉड्यूल इन के लिए जाँच करने के लिए (अजगर 2.6 के बाद से उपलब्ध है) constants for nan
and inf
(since Python 3.5) साथ ही कुछ कार्यों में शामिल है
math.isinf
चेक करता है कि मान अनंत है (सकारात्मक या नकारात्मक):
>>> math.isinf(math.inf) # positive infinity
True
>>> math.isinf(-math.inf) # negative infinity
True
और एक समारोह है कि जाँच कर सकते हैं एक नंबर हैinf
या nan
नहीं: math.isfinite
(अजगर के लिए उपलब्ध 3.2+)
>>> math.isfinite(math.inf)
False
>>> math.isfinite(math.nan)
False
>>> math.isfinite(11.2)
True
http://stackoverflow.com/questions/944700/ बताता है आप NaN के लिए कैसे जांचें। इंफ और इन्फ के लिए आप == के साथ परीक्षण कर सकते हैं लेकिन यह NaN के लिए IEEE754 नियमों के कारण NaN के लिए काम नहीं करता है। –
मुझे लगता है कि सबसे विश्वसनीय तरीका 'isinf' और' isnan' जैसे उचित कार्यों का उपयोग करना है जैसा कि 'numpy' द्वारा प्रदान किया गया है। नीचे मेरा जवाब देखें। –