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

Python में numpy.nan_to_num() से अनंत को परिमित संख्या और NaN को कस्टम मान से बदलें


परिचय

यह उदाहरण दर्शाता है कि numpy.nan_to_num() में nan पैरामीटर का उपयोग करके NaN मानों को कस्टम मान से कैसे बदला जाए, जबकि अनंत मानों को डिफ़ॉल्ट बड़े परिमित संख्या से बदला जाता है।

चरण

1. लाइब्रेरी आयात करें

import numpy as np

2. सम्मिश्र अनंत और NaN वाली सरणी बनाएं

arr = np.array([complex(np.inf, np.nan), np.nan])

3. सरणी जानकारी प्रदर्शित करें

print("हमारी सरणी...\n", arr)
print("\nआयाम...\n", arr.ndim)
print("\nडेटा प्रकार...\n", arr.dtype)
print("\nआकार...\n", arr.shape)

4. NaN को 11111 से बदलें (अनंत डिफ़ॉल्ट बड़े मान से बदले जाएंगे)

print("\nपरिणाम...\n", np.nan_to_num(arr, nan=11111))

पूर्ण उदाहरण

import numpy as np

arr = np.array([complex(np.inf, np.nan), np.nan])

print("हमारी सरणी...\n", arr)
print("\nहमारी सरणी के आयाम...\n", arr.ndim)
print("\nहमारी सरणी ऑब्जेक्ट का डेटा प्रकार...\n", arr.dtype)
print("\nहमारी सरणी ऑब्जेक्ट का आकार...\n", arr.shape)

# NaN को 11111 से बदलें
print("\nपरिणाम...\n", np.nan_to_num(arr, nan=11111))

आउटपुट

हमारी सरणी...
 [inf+nanj nan +0.j]
हमारी सरणी के आयाम...
 1
हमारी सरणी ऑब्जेक्ट का डेटा प्रकार...
 complex128
हमारी सरणी ऑब्जेक्ट का आकार...
 (2,)
परिणाम...
 [1.79769313e+308+11111.j  1.11110000e+04+0.j]

व्याख्या

मूल मानबदला गया माननियम
complex(inf, nan)1.79769313e+308 + 11111jवास्तविक भाग: inf → डिफ़ॉल्ट अधिकतम float64 (~1.8e308); काल्पनिक भाग: nan → कस्टम nan (11111)
nan+0j11111+0jवास्तविक भाग: nan → कस्टम nan (11111); काल्पनिक भाग: 0 (कोई परिवर्तन नहीं)

डिफ़ॉल्ट रूप से, अनंत को फ्लोटिंग-पॉइंट प्रकार की अधिकतम परिमित मान से बदला जाता है (np.finfo(dtype).max)।


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

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

  1. प्रत्येक X के लिए एकाधिक Y वैल्यूज़ वाला स्कैटर प्लॉट (Python Matplotlib) प्रत्येक X के लिए एकाधिक Y वैल्यूज़ वाला स्कैटर प्लॉट (Python Matplotlib)

    एक ही X वैल्यू के लिए कई Y वैल्यूज़ होने पर, zip() से उन्हें पेयर करके स्कैटर प्लॉट बनाएं। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। NumPy से रैंडम xs और ys जनरेट करें। zip(xs, ys) से पेयर बनाएं और लूप में plt.scatter(x, y) करें। plt.show() से दिखाएं। उदाहरण कोड import numpy as np from matplotlib impor

  1. Matplotlib में NaN मानों के साथ प्लॉट और काम कैसे करें? Matplotlib में NaN मानों के साथ प्लॉट और काम कैसे करें?

    Matplotlib में NaN मानों के साथ प्लॉट और काम करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: कुछ NaN मानों के साथ NumPy का उपयोग करके डेटा बनाएं। क्लरमैप और डेटा (चरण 1 से) के साथ डेटा को इमेज के रूप में डिस्प्ले करने के लिए imshow() मेथड का उपयोग करें, यानी 2D रेगुलर रास्टर पर। फिगर डिस्प्ले क