पंडों में लगातार लापता डेटा के लिए प्लेसहोल्डर के रूप में NaN का उपयोग किया जाता है , स्थिरता अच्छी है। मैं आमतौर पर NaN को "लापता" के रूप में पढ़ता / अनुवाद करता हूं । डॉक्स में 'लापता डेटा के साथ काम करना' अनुभाग भी देखें ।
वेस डॉक्स की पसंद 'एनए-प्रतिनिधित्व' में लिखते हैं :
उत्पादन के उपयोग के वर्षों के बाद [NaN] साबित हुआ है, कम से कम मेरी राय में, सामान्य रूप से NumPy और Python में मामलों की स्थिति को देखते हुए सबसे अच्छा निर्णय है। विशेष मान NaN (Not-A-Number) का उपयोग हर जगह NA मान के रूप में किया जाता है , और API फ़ंक्शन हैं isnull
और notnull
जिनका उपयोग NA मानों का पता लगाने के लिए dtypes में किया जा सकता है।
...
इस प्रकार, मैंने Pythonic को चुना है "व्यावहारिकता शुद्धता को धड़कता है" दृष्टिकोण और कारोबार पूर्णांक NA की क्षमता NA को निरूपित करने के लिए फ्लोट और ऑब्जेक्ट सरणियों में एक विशेष मूल्य का उपयोग करने के लिए बहुत सरल दृष्टिकोण के लिए, और NA के लिए फ्लोटिंग के लिए पूर्णांक सरणियों को बढ़ावा देना चाहिए। की शुरुआत की।
नोट: "गोचा" जो कि पूर्णांक श्रृंखला में गुम डेटा है, फ्लोट्स के लिए बना हुआ है ।
मेरी राय में NaN (कोई नहीं से अधिक) का उपयोग करने का मुख्य कारण यह है कि यह numpy के float64 dtype साथ संग्रहीत किया जा सकता है, बल्कि कम कुशल वस्तु dtype से, है देखने के एनए प्रोन्नति टाइप ।
# without forcing dtype it changes None to NaN!
s_bad = pd.Series([1, None], dtype=object)
s_good = pd.Series([1, np.nan])
In [13]: s_bad.dtype
Out[13]: dtype('O')
In [14]: s_good.dtype
Out[14]: dtype('float64')
इस पर जेफ टिप्पणी (नीचे):
np.nan
सदिश संचालन के लिए अनुमति देता है; इसकी एक फ्लोट वैल्यू, जबकि None
, परिभाषा के अनुसार, ऑब्जेक्ट प्रकार को बाध्य करता है, जो मूल रूप से सभी दक्षता को सुन्न में अक्षम करता है।
इसलिए 3 बार तेजी से दोहराएं: ऑब्जेक्ट == खराब, फ्लोट == अच्छा
यह कहते हुए कि, कई ऑपरेशन अभी भी किसी भी बनाम NaN के साथ काम नहीं कर सकते (लेकिन शायद समर्थित नहीं हैं यानी वे कभी-कभी आश्चर्यजनक परिणाम दे सकते हैं ):
In [15]: s_bad.sum()
Out[15]: 1
In [16]: s_good.sum()
Out[16]: 1.0
दूसरे प्रश्न का उत्तर देने के लिए:
आपको लापता डेटा (NaN) का उपयोग करना pd.isnull
और pd.notnull
परीक्षण करना चाहिए ।
qwerty
कोई संख्या नहीं है।