Python मा NaN जाँच | फ्लोटिङ मानहरू ह्यान्डल गर्ने तरिका

1. Python मा NaN निर्धारण गर्ने तरिका

NaN भनेको के हो?

NaN(Not a Number) भनेको संख्यात्मक गणना असमान्य वा अपरिभाषित भएको जनाउने विशेष फ्लोटिङ‑प्वाइन्ट मान हो। सामान्यतया, शून्यले भाग गर्दा वा असमान्य गणनाको परिणामस्वरूप देखा पर्छ, त्यसैले डेटा विश्लेषण र संख्यात्मक प्रक्रिया गर्दा विशेष सावधानी आवश्यक हुन्छ। यदि NaN लाई सही रूपमा ह्यान्डल नगरेमा, गणनाको नतिजा असठीक हुन सक्छ वा प्रोग्रामले अपेक्षित रूपमा काम नगर्न सक्छ।

NaN निर्धारणको महत्व

यदि NaN डेटा सेटमा समावेश छ भने, डेटाको विश्वसनीयता र गणनाको नतिजामा असर पर्न सक्छ। त्यसैले, पहिलो चरणमा NaN निर्धारण गर्नु र त्यसपछि उचित प्रक्रिया (जस्तै हटाउने, प्रतिस्थापन आदि) गर्नु महत्त्वपूर्ण छ।

2. NaN को निर्माण विधि

Python मा, NaN लाई float('nan') द्वारा निर्माण गर्न सकिन्छ। संख्यात्मक गणनामा अवैध परिणामलाई स्पष्ट रूपमा देखाउन प्रयोग गरिन्छ।
num = float('nan')
print(num)  # परिणाम: nan

None सँगको भिन्नता

NaN संख्यात्मक रूपमा अवैध हुन्छ, जबकि None ‘केही पनि छैन’ भन्ने अवस्थालाई दर्शाउँछ। None लाई == द्वारा तुलना गर्न सकिन्छ, तर NaN आफैँसँग तुलना गर्दा पनि बराबर हुँदैन, त्यसैले == द्वारा निर्णय गर्नु उपयुक्त छैन।
num = float('nan')
print(num == num)  # परिणाम: False

none_value = None
print(none_value == None)  # परिणाम: True
RUNTEQ(ランテック)|超実戦型エンジニア育成スクール

3. NaN को पहिचान विधि

3.1. मानक पुस्तकालयमा निर्धारण(math.isnan()

Python को मानक पुस्तकालयमा NaN लाई निर्धारण गर्नको लागि, math.isnan() प्रयोग गरिन्छ। योनले, दिइएको मान NaN भएमा True फिर्ता गर्छ।
import math

num = float('nan')
print(math.isnan(num))  # परिणाम: True

3.2. NumPy प्रयोग गरेर निर्धारण(numpy.isnan()

NumPy एरे र म्याट्रिक्सको गणनामा विशेषीकृत पुस्तकालय हो, जसले एरेभित्रको NaN लाई प्रभावकारी रूपमा निर्धारण गर्नको लागि numpy.isnan() फलन प्रदान गर्दछ। संख्यात्मक विश्लेषण र वैज्ञानिक डेटा प्रशोधनमा प्रायः प्रयोग हुन्छ।
import numpy as np

num_list = [1, 2, np.nan, 4]
print(np.isnan(num_list))  # परिणाम: [False False  True False]

3.3. pandas मा निर्धारण(pandas.isna()

डेटा फ्रेमसँग काम गर्दा, pandas को isna() वा isnull() प्रयोग गरेर NaN लाई निर्धारण गरिन्छ। यी फलनहरू डेटा सफा गर्ने र हराइएका मानहरूलाई ह्यान्डल गर्न उपयोगी हुन्छन्।
import pandas as pd
import numpy as np

data = pd.Series([1, 2, np.nan, 4])
print(pd.isna(data))  # परिणाम: 0    False
                      #      1    False
                      #      2     True
                      #      3    False

4. NaN हटाउने र प्रतिस्थापन गर्ने तरिका

4.1. सूचीबाट NaN हटाउने

सूचीभित्र रहेको NaN हटाउन, math.isnan() र सूची अभिव्यक्तिको संयोजन प्रयोग गर्न सकिन्छ।
import math

num_list = [1, 2, float('nan'), 4]
clean_list = [num for num in num_list if not math.isnan(num)]
print(clean_list)  # परिणाम: [1, 2, 4]

4.2. pandas मा NaN हटाउने(dropna()

डेटाफ्रेमबाट NaN हटाउन चाहनुहुन्छ भने, dropna() मेथड प्रयोग गर्नुहोस्। यसले NaN समावेश गर्ने पङ्क्ति वा स्तम्भलाई हटाउन सक्छ।
import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, 6]})
clean_df = df.dropna()
print(clean_df)

4.3. pandas मा NaN प्रतिस्थापन गर्ने(fillna()

NaN हटाउने सट्टा, विशेष मानले बदल्न चाहनुहुन्छ भने fillna() मेथड प्रयोग गर्नुहोस्।
import pandas as pd
import numpy as np

df = pd.DataFrame({'A': [1, 2, np.nan], 'B': [4, np.nan, 6]})
df.fillna(0, inplace=True)
print(df)

5. NaN समावेशी गणना

NaN समावेशी गणनामा, परिणाम पनि NaN नै हुन्छ, त्यसैले सही नतिजा पाउनका लागि पहिले NaN हटाउन वा प्रतिस्थापन गर्न आवश्यक हुन्छ।
import numpy as np

result = 10 + np.nan
print(result)  # परिणाम: nan

NaN समावेशी सांख्यिकीय गणनाको उदाहरण

जब NaN समावेशी डेटा सेटमा सांख्यिकीय गणना गर्नुपर्दछ, र तपाईं NaN लाई बेवास्ता गरेर गणना गर्न चाहनुहुन्छ भने, NumPy कोnanmean() फङ्क्शन प्रयोग गर्नुहोस्। यसले NaN हटाएर औसत मान गणना गर्छ।
import numpy as np

data = [1, 2, np.nan, 4]
mean = np.nanmean(data)  # NaN लाई बेवास्ता गरेर औसत मान गणना
print(mean)  # परिणाम: 2.3333...

6. NaN निर्धारण सम्बन्धी ध्यान दिनुपर्ने बुँदाहरू

6.1. तुलना अपरेटरको व्यवहार

NaN सँग तुलना अपरेटरले अन्य संख्याहरू वा आफैंसँग तुलना गर्दा पनि बराबर नहुनु भन्ने विशेष गुण हुन्छ। त्यसकारण, == वा != द्वारा जाँच गर्न सकिँदैन, र विशेष फलोहरू (isnan() वा isna()) प्रयोग गर्न आवश्यक पर्छ।
num = float('nan')
print(num == num)  # परिणाम: False

6.2. डेटा सफा गर्ने बखतका बुँदाहरू

डेटा विश्लेषणमा, NaN बाँकी रहँदा सही गणना गर्न सकिँदैन। गणनाको नतिजा विकृत हुन सक्छ, त्यसैले पूर्वमा उपयुक्त सफा गर्नु आवश्यक छ। NaN लाई उपयुक्त रूपमा हटाएर वा प्रतिस्थापन गरेर, डेटाको विश्वसनीयता बढाउन सकिन्छ।

7. सारांश

Python मा, math, numpy, pandas को उपयोग गरेर, NaN लाई प्रभावकारी रूपमा पहिचान र प्रक्रिया गर्न सकिन्छ। NaN को ह्यान्डलिंगलाई सही रूपमा बुझेर, डेटा विश्लेषण र संख्यात्मक गणनाको विश्वसनीयता कायम राख्न आवश्यक आधारभूत ज्ञान हासिल गर्नु सबै प्रोग्रामिङ क्षेत्रहरूमा उपयोगी सीप हो।
侍エンジニア塾