Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में अनंत को बड़े फाइनाइट नंबर से बदलें लेकिन NaN मान भरें

NumPy का numpy.nan_to_num() फंक्शन NaN को शून्य (या कस्टम मान) से और अनंत (infinity) को बड़े फाइनाइट नंबर्स से बदलता है। nan पैरामीटर से NaN के लिए कस्टम रिप्लेसमेंट मान निर्दिष्ट कर सकते हैं।

सिंटैक्स और पैरामीटर्स

numpy.nan_to_num(x, copy=True, nan=0.0, posinf=None, neginf=None)
  • x: इनपुट ऐरे।
  • copy: True = कॉपी बनाएं, False = इन-प्लेस (यदि संभव)।
  • nan: NaN के लिए रिप्लेसमेंट मान (डिफ़ॉल्ट 0.0)।
  • posinf: +∞ के लिए रिप्लेसमेंट (डिफ़ॉल्ट: dtype का मैक्स फाइनाइट मान)।
  • neginf: -∞ के लिए रिप्लेसमेंट (डिफ़ॉल्ट: dtype का मिन फाइनाइट मान)।

उदाहरण: कस्टम NaN मान के साथ

import numpy as np

# inf, -inf, nan, और सामान्य मानों वाला ऐरे
arr = np.array([np.inf, -np.inf, np.nan, -128, 128])

print("मूल ऐरे:\n", arr)
print("\nडायमेंशन्स:", arr.ndim)
print("डेटा टाइप:", arr.dtype)
print("आकार:", arr.shape)

# NaN को 11111 से बदलें, inf को डिफ़ॉल्ट बड़े मान से
result = np.nan_to_num(arr, nan=11111)
print("\nपरिणाम (nan=11111):\n", result)

आउटपुट

मूल ऐरे:
 [ inf -inf nan -128. 128.]
डायमेंशन्स: 1
डेटा टाइप: float64
आकार: (5,)
परिणाम (nan=11111):
 [ 1.79769313e+308 -1.79769313e+308 1.11110000e+004 -1.28000000e+002 1.28000000e+002]

व्याख्या

सभी पैरामीटर्स के साथ पूर्ण नियंत्रण


result = np.nan_to_num(
    arr,
    nan=0.0,           # NaN → 0
    posinf=1e10,       # +∞ → 1e10
    neginf=-1e10,      # -∞ → -1e10
    copy=False         # इन-प्लेस यदि संभव
)

डिफ़ॉल्ट व्यवहार (कोई पैरामीटर नहीं)


result_default = np.nan_to_num(arr)
# NaN → 0.0
# +∞ → dtype मैक्स (float64 के लिए ~1.8e308)
# -∞ → dtype मिन (float64 के लिए ~-1.8e308)

व्यावहारिक उपयोग

  • ML प्रीप्रोसेसिंग: प्रशिक्षण से पहले NaN/inf साफ करें।
  • विज़ुअलाइज़ेशन: प्लॉटिंग के लिए अनंत मानों को फाइनाइट बनाएं।
  • न्यूमेरिकल स्थिरता: गणना में ओवरफ्लो/NaN प्रसार रोकें।
  • डेटा सफाई: सेंसर डेटा में अमान्य मान बदलें।

संबंधित फंक्शन्स

  • np.isnan() — NaN जांचें
  • np.isinf() — अनंत जांचें
  • np.isfinite() — फाइनाइट जांचें
  • np.nan_to_num() — एक ही बार में सब ठीक करें
  1. पायथन पैंडास - DataFrame में सभी NaN तत्वों को 0 से बदलें पायथन पैंडास - DataFrame में सभी NaN तत्वों को 0 से बदलें

    NaN मानों को बदलने के लिए fillna() विधि का उपयोग करें। मान लीजिए हमारी CSV फ़ाइल Microsoft Excel में कुछ NaN मानों के साथ खुली है:सबसे पहले, आवश्यक लाइब्रेरी आयात करें:import pandas as pdCSV फ़ाइल से डेटा पैंडास DataFrame में लोड करें:dataFrame = pd.read_csv(C:\\Users\\amit_\\Desktop\\SalesData.csv)

  1. पायथन पैंडास - इंटरपोलेशन मेथड का उपयोग करके NaN मान भरें पायथन पैंडास - इंटरपोलेशन मेथड का उपयोग करके NaN मान भरें

    NaN मान भरने के लिए interpolate() मेथड का उपयोग करें। मान लीजिए निम्नलिखित हमारी CSV फ़ाइल है जिसे माइक्रोसॉफ्ट एक्सेल में कुछ NaN मानों के साथ खोला गया है: CSV फ़ाइल से डेटा लोड करके पैंडास डेटाफ्रेम में डालें: dataFrame = pd.read_csv(C:\\Users\\amit_\\Desktop\\SalesData.csv) interpolate() के साथ

  1. - पायथन - पैंडास में दूसरे डेटाफ्रेम के मान से डेटाफ्रेम के मान बदलें

    परिचय एक डेटाफ्रेम के मान को दूसरे डेटाफ्रेम के मान से बदलने के लिए, पैंडास में replace() मेथड का उपयोग करें। चरण-दर-चरण कार्यान्वयन 1. पहला डेटाफ्रेम बनाएं import pandas as pd dataFrame1 = pd.DataFrame({Car: [Audi, Lamborghini], Place: [US, UK], Units: [200, 500]}) 2. दूसरा डेटाफ्रेम बनाएं data

© कॉपीराइट https://in.wsxdn.com सर्वाधिकार सुरक्षित
मूल मानबदला गया माननियम
+∞ (np.inf)1.79769313e+308float64 का मैक्स फाइनाइट (posinf डिफ़ॉल्ट)
-∞ (-np.inf)-1.79769313e+308float64 का मिन फाइनाइट (neginf डिफ़ॉल्ट)
NaN11111.0कस्टम nan=11111 पैरामीटर
-128-128.0कोई बदलाव नहीं
128128.0कोई बदलाव नहीं