मेरे पास एक सरणी है जिसमें फ्लोट मान शामिल हैंसाथ ही NaN मान। मैं इस सरणी का माध्य ले रहा हूं। वर्तमान परिदृश्य में मंझला कुछ मूल्य या NaN हो सकता है। मेरा प्रश्न यह है कि यदि माध्यिका NaN है तो उसे NaN के बजाय सरणी से अधिकतम मान लौटाना चाहिए
सरणी का उदाहरण,
x = np.array([NaN,NaN,0.1,0.002,0.14,NaN,NaN,NaN])
इस सरणी में np.median NaN है। जब माध्य NaN होता है, तो उसे ऐरे से अधिकतम मान लौटाना चाहिए, मेरा मतलब है कि यह ऐरे से वापस लौटना चाहिए (0.14)।
मैं इस मूल्य को कैसे वापस कर सकता हूं?
उत्तर:
जवाब के लिए 5 № 1import numpy as np
from numpy import NaN
x = np.array([NaN,NaN,0.1,0.002,0.14,NaN,NaN,NaN])
def getMedian(arr):
med = np.median(arr)
if np.isnan(med):
return np.nanmax(arr)
else:
return med
print getMedian(x)
जवाब के लिए 0 № 2
किसी भी ऑपरेशन के लिए आपको NaN को बाहर निकालने की ज़रूरत है ताकि आप उस उत्तर को प्राप्त कर सकें जिसके बाद एक दूसरा सरणी बनाते हैं जो केवल प्रासंगिक मान रखता है और उत्तर खोजने के लिए उस सरणी का उपयोग करता है।
कार्यसूची = [] x में आइटम के लिए यदि आइटम! = NaN: workinglist.append (आइटम)