2015-02-22 11 views
10

पाइथन के आरए एनए के बराबर क्या है?पाइथन के आरए एनए के बराबर क्या है?

अधिक विशिष्ट होने के लिए: आर में NaN, NA, NULL, Inf और -Inf है। जब डेटा गायब होता है तो आम तौर पर एनए का उपयोग किया जाता है। पायथन के बराबर क्या है?

कैसे numpy और पांडा जैसे पुस्तकालय गुम मूल्यों को संभालते हैं?

विज्ञान-सीखने वाले हैंडल मूल्यों को कैसे खोते हैं?

क्या यह अजगर 2.7 और पायथन 3 के लिए अलग है?

+6

शायद 'कोई नहीं', अगर मैं आपको सही ढंग से समझता हूं। – Makoto

+2

नकली [मास्क किए गए सरणी] का उपयोग करता है (http://docs.scipy.org/doc/numpy/reference/maskedarray.html)। – Veedrac

उत्तर

5

Scikit -लेर्न वर्तमान में लापता मूल्यों को संभाल नहीं करता है। अधिकांश मशीन लर्निंग एल्गोरिदम के लिए, यह अस्पष्ट है कि गुम मूल्यों को कैसे संभालना है, और इसलिए हम उन्हें एल्गोरिदम देने से पहले उन्हें संभालने के उपयोगकर्ता पर भरोसा करते हैं। Numpy में "अनुपलब्ध" मान नहीं है। पांडस NaN का उपयोग करता है, लेकिन संख्यात्मक एल्गोरिदम के अंदर जो भ्रम पैदा कर सकता है। मास्क किए गए सरणी का उपयोग करना संभव है, लेकिन हम इसे scikit-learn (अभी तक) में नहीं करते हैं।

2

pandas के लिए इसे देखें।

http://pandas.pydata.org/pandas-docs/dev/missing_data.html

पांडा NaN उपयोग करता है। तुम्हें पता है, isnull() या not null() का उपयोग कर शून्य मान के लिए परीक्षण के लिए उन्हें dropna() का उपयोग कर एक डेटा फ्रेम से ड्रॉप कर सकते हैं आदि datetime वस्तुओं के लिए बराबर है NaT

+3

यह ध्यान देने योग्य हो सकता है कि पूर्णांक पांडा 'श्रृंखला' (या कॉलम) में मूल्य होना चाहिए। एक पूर्णांक श्रृंखला में अनुपलब्ध मान का प्रतिनिधित्व करने का कोई तरीका नहीं है; सामान्य विकल्प एक फ़्लोटिंग पॉइंट प्रकार पर अपग्रेड करना है जिसमें 'NaN' है। – Paul

8

nan numpy में कई कार्यों के साथ अच्छी तरह से नियंत्रित किया जाता है:

>>> import numpy as np 
>>> a = [1, np.nan, 2, 3] 
>>> np.nanmean(a) 
2.0 
>>> np.nansum(a) 
6.0 
>>> np.isnan(a) 
array([False, True, False, False], dtype=bool) 
संबंधित मुद्दे