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