विवरण
numpy.nancumprod() फंक्शन सरणी तत्वों का संचयी गुणनफल (cumulative product) लौटाता है, NaN मानों को 1 मानकर (गुणनफल को अपरिवर्तित छोड़ते हुए)। अग्रणी NaN को 1 से बदल दिया जाता है। पूरी तरह से NaN या खाली स्लाइस के लिए 1 लौटाया जाता है।
पैरामीटर्स
a- इनपुट ऐरेaxis- वह अक्ष जिसके साथ संचयी गुणनफल गणना किया जाता है (डिफ़ॉल्ट: फ्लैट)dtype- परिणाम और संचयक का डेटा प्रकारout- वैकल्पिक आउटपुट ऐरे
चरण
import numpy as np
# NaN के साथ नंपाई ऐरे बनाएं
arr = np.array([[5, 10, 15], [20, np.nan, 30]])
print("हमारा ऐरे...\n", arr)
print("\nहमारे ऐरे के आयाम...\n", arr.ndim)
print("\nहमारे ऐरे ऑब्जेक्ट का डेटाटाइप...\n", arr.dtype)
# अक्ष 0 पर संचयी गुणनफल (NaN को 1 मानकर)
print("\nसरणी तत्वों का संचयी गुणनफल...\n", np.nancumprod(arr, axis=0))
पूर्ण उदाहरण
import numpy as np
# NaN के साथ ऐरे बनाएं
arr = np.array([[5, 10, 15], [20, np.nan, 30]])
# ऐरे प्रदर्शित करें
print("हमारा ऐरे...\n", arr)
print("\nहमारे ऐरे के आयाम...\n", arr.ndim)
print("\nहमारे ऐरे ऑब्जेक्ट का डेटाटाइप...\n", arr.dtype)
# अक्ष 0 पर संचयी गुणनफल
print("\nसरणी तत्वों का संचयी गुणनफल...\n", np.nancumprod(arr, axis=0))
आउटपुट
हमारा ऐरे...
[[ 5. 10. 15.]
[20. nan 30.]]
हमारे ऐरे के आयाम...
2
हमारे ऐरे ऑब्जेक्ट का डेटाटाइप...
float64
सरणी तत्वों का संचयी गुणनफल...
[[ 5. 10. 15.]
[100. 10. 450.]]
व्याख्या (axis=0)
स्तंभ-वार संचयी गुणनफल:
- स्तंभ 0:
5→5*20=100 - स्तंभ 1:
10→10*1=10(NaN को 1 माना) - स्तंभ 2:
15→15*30=450
सामान्य cumprod से तुलना
# सामान्य cumprod: NaN प्रसारित होता है
np.cumprod(arr, axis=0)
# [[ 5. 10. 15.]
# [100. nan 450.]]
# nancumprod: NaN को अनदेखा करता है
np.nancumprod(arr, axis=0)
# [[ 5. 10. 15.]
# [100. 10. 450.]]
अनुप्रयोग
- लापता डेटा वाले समय श्रृंखला विश्लेषण
- कुछ मान NaN होने पर ज्यामितीय माध्य गणना
- वित्तीय रिटर्न श्रृंखला जहां कुछ दिनों का डेटा लापता है
- संभाव्यता गणना जहां कुछ घटनाएं अनदेखी हैं
संबंधित फंक्शन्स
np.nancumsum()- NaN को 0 मानकर संचयी योगnp.nanprod()- NaN को अनदेखा करके कुल गुणनफलnp.cumprod()- सामान्य संचयी गुणनफल (NaN प्रसारित करता है)