परिचय
यह उदाहरण दर्शाता है कि 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+0j | 11111+0j | वास्तविक भाग: nan → कस्टम nan (11111); काल्पनिक भाग: 0 (कोई परिवर्तन नहीं) |
डिफ़ॉल्ट रूप से, अनंत को फ्लोटिंग-पॉइंट प्रकार की अधिकतम परिमित मान से बदला जाता है (np.finfo(dtype).max)।