কম্পিউটার টিউটোরিয়াল

পাইথনে NaNকে শূন্য বিবেচনা করে অ্যারে উপাদানগুলির ক্রমাগত যোগফল (Cumulative Sum) বের করুন

পাইথন নামপাই-তে 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 কে ০ মনে করা হয়েছে
  1. পাইথনে N-ডাইমেনশনাল অ্যারের গ্রেডিয়েন্ট (Gradient) অক্ষ ১ অনুযায়ী বের করুন

  2. পাইথনে NaNকে শূন্য বিবেচনা করে অক্ষ ১ অনুযায়ী ক্রমাগত যোগফল (Cumulative Sum) বের করুন

  3. পাইথনে NaNকে শূন্য বিবেচনা করে অক্ষ ০ অনুযায়ী ক্রমাগত যোগফল (Cumulative Sum) বের করুন

  4. পাইথনে N-ডাইমেনশনাল অ্যারের অক্ষ ০-র ওপর গ্রেডিয়েন্ট বের করুন