Numpy सरणी से nan मान कैसे निकालें (3 विधियाँ)
आप NumPy सरणी से NaN मान हटाने के लिए निम्न विधियों का उपयोग कर सकते हैं:
विधि 1: इस्नान() का उपयोग करें
new_data = data[~np. isnan (data)]
विधि 2: isfinite() का उपयोग करें
new_data = data[np. isfinite (data)]
विधि 3: ological_not() का उपयोग करें
new_data = data[np. logical_not (np. isnan (data))]
इनमें से प्रत्येक विधि एक ही परिणाम उत्पन्न करती है, लेकिन पहली विधि प्रवेश के लिए सबसे छोटी है और इसलिए इसका उपयोग सबसे अधिक बार किया जाता है।
निम्नलिखित उदाहरण दिखाते हैं कि व्यवहार में प्रत्येक विधि का उपयोग कैसे करें।
उदाहरण 1: isnan() का उपयोग करके NaN मान निकालें
निम्नलिखित कोड दिखाता है कि isnan() फ़ंक्शन का उपयोग करके NumPy सरणी से NaN मानों को कैसे हटाया जाए:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[~np. isnan (data)]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
ध्यान दें कि दोनों NaN मानों को NumPy सरणी से सफलतापूर्वक हटा दिया गया है।
यह विधि केवल उन सभी सरणी तत्वों को रखती है जो (~)NaN मान नहीं हैं।
उदाहरण 2: isfinite() का उपयोग करके NaN मान निकालें
निम्नलिखित कोड दिखाता है कि isfinite() फ़ंक्शन का उपयोग करके NumPy सरणी से NaN मानों को कैसे हटाया जाए:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[np. isfinite (data)]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
ध्यान दें कि दोनों NaN मानों को NumPy सरणी से सफलतापूर्वक हटा दिया गया है।
यह विधि केवल उन सभी सरणी तत्वों को रखती है जो परिमित मान हैं।
चूँकि NaN मान परिमित नहीं हैं, इसलिए उन्हें तालिका से हटा दिया जाता है।
उदाहरण 3: ological_not() का उपयोग करके NaN मान निकालें
निम्नलिखित कोड दिखाता है कि ological_not() फ़ंक्शन का उपयोग करके NumPy सरणी से NaN मानों को कैसे हटाया जाए:
import numpy as np
#create array of data
data = np. array ([4, np.nan, 6, np.nan, 10, 11, 14, 19, 22])
#define new array of data with nan values removed
new_data = data[np. logical_not (np. isnan (data))]
#view new array
print (new_data)
[4. 6. 10. 11. 14. 19. 22.]
ध्यान दें कि दोनों NaN मानों को NumPy सरणी से सफलतापूर्वक हटा दिया गया है।
हालाँकि यह विधि पिछली दो के बराबर है, लेकिन इसमें अधिक टाइपिंग की आवश्यकता होती है और इसलिए इसका उपयोग अक्सर नहीं किया जाता है।
अतिरिक्त संसाधन
निम्नलिखित ट्यूटोरियल बताते हैं कि पायथन में अन्य सामान्य ऑपरेशन कैसे करें:
पांडा: खाली स्ट्रिंग्स को NaN से कैसे बदलें
पांडा: NaN मानों को एक स्ट्रिंग से कैसे बदलें