পাইথন নামপাই-তে np.nancumsum() মেথড ব্যবহার করে দেওয়া অক্ষ (axis) অনুযায়ী অ্যারে উপাদানগুলির ক্রমাগত যোগফল (cumulative sum) বের করা যায়, যেখানে NaN (Not a Number) মানগুলোকে শূন্য (০) হিসেবে বিবেচনা করা হয়।
- NaN মান সামনা করলে ক্রমাগত যোগফল পরিবর্তন হয় না।
- শুরুতে থাকা NaN মানগুলো শূন্য দিয়ে প্রতিস্থাপিত হয়।
- যদি কোনো স্লাইস সম্পূর্ণ NaN থাকে বা খালি থাকে, তবে সেটির জন্য শূন্য ফেরত দেয়।
- ফলাফল অ্যারেটি ইনপুট অ্যারের মতো আকারের হয় (যদি axis=None না হয় বা 1-ডি অ্যারে না হয়)।
ক্রমাগত যোগফল কাজ করে: 5, 5+10, 5+10+15, 5+10+15+20 এভাবে।
প্যারামিটারসমূহ
- a: ইনপুট অ্যারে
- axis (ঐচ্ছিক): যে অক্ষ অনুযায়ী ক্রমাগত যোগফল গণনা হবে। ডিফল্ট
None(ফ্ল্যাটেন্ড অ্যারে)। - 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)
অক্ষ ১ (axis=1) অনুযায়ী ক্রমাগত যোগফল বের করুন
print("\nঅ্যারে উপাদানগুলির ক্রমাগত যোগফল...\n", np.nancumsum(arr, axis=1))
সম্পূর্ণ উদাহরণ
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)
# অক্ষ ১ অনুযায়ী ক্রমাগত যোগফল (NaN = 0)
print("\nঅ্যারে উপাদানগুলির ক্রমাগত যোগফল...\n", np.nancumsum(arr, axis=1))
আউটপুট
আমাদের অ্যারে...
[[10. 20. 30.]
[40. nan 60.]]
আমাদের অ্যারের মাত্রা...
2
আমাদের অ্যারে অবজেক্টের ডেটা টাইপ...
float64
অ্যারে উপাদানগুলির ক্রমাগত যোগফল...
[[ 10. 30. 60.]
[ 40. 40. 100.]]
ব্যাখ্যা:
- প্রথম সারি:
10, 10+20=30, 30+30=60 - দ্বিতীয় সারি:
40, 40+0(NaN)=40, 40+60=100— NaN কে ০ মনে করা হয়েছে