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

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


परिचय

numpy.nan_to_num() फ़ंक्शन सरणी में NaN (Not a Number) और अनंत मानों को परिमित संख्याओं से बदलता है। यह सम्मिश्र सरणियों के लिए भी काम करता है।

पैरामीटर

  • x: इनपुट डेटा
  • copy: कॉपी बनाएं (True) या इन-प्लेस बदलें (False), डिफ़ॉल्ट True
  • nan: NaN को बदलने का मान (डिफ़ॉल्ट: 0.0)
  • posinf: धनात्मक अनंत को बदलने का मान
  • neginf: ऋणात्मक अनंत को बदलने का मान

चरण

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 को 0 और धनात्मक अनंत को 22222 से बदलें

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

पूर्ण उदाहरण

import numpy as np

# सम्मिश्र अनंत और NaN वाली सरणी
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 को 0 से, धनात्मक अनंत को 22222 से बदलें
print("\nपरिणाम...\n", np.nan_to_num(arr, posinf=22222))

आउटपुट

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

व्याख्या

मूल मानबदला गया माननियम
complex(inf, nan)22222+0jवास्तविक भाग: inf → posinf (22222); काल्पनिक भाग: nan → 0 (डिफ़ॉल्ट)
nan+0j0+0jवास्तविक भाग: nan → 0 (डिफ़ॉल्ट); काल्पनिक भाग: 0 (कोई परिवर्तन नहीं)

ऋणात्मक अनंत के लिए neginf पैरामीटर का उपयोग करें।


  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. प्रत्येक 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 रेगुलर रास्टर पर। फिगर डिस्प्ले क