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

পাইথনে অনসাইনড ইন্টিজার অ্যারের জন্য n-তম ডিসক্রিট ডিফারেন্স (Discrete Difference) গণনা করুন

পাইথন নামপাই-তে numpy.diff() মেথড ব্যবহার করে n-তম ডিসক্রিট ডিফারেন্স (discrete difference) গণনা করা যায়। প্রথম ডিফারেন্স: out[i] = a[i+1] - a[i] দেওয়া অক্ষ অনুযায়ী। উচ্চতর ডিফারেন্স রিকার্সিভলি diff ব্যবহার করে গণনা করা হয়।

প্যারামিটারসমূহ

  • a: ইনপুট অ্যারে
  • n (ঐচ্ছিক): ডিফারেন্স নেওয়ার 횟수। ডিফল্ট ১। ০ হলে ইনপুটই ফেরত দেয়।
  • axis (ঐচ্ছিক): যে অক্ষ অনুযায়ী ডিফারেন্স নেওয়া হবে। ডিফল্ট শেষ অক্ষ।
  • prepend, append (ঐচ্ছিক): ডিফারেন্স নেওয়ার আগে অ্যারে যুক্ত করার মান।

দ্রষ্টব্য: অনসাইনড ইন্টিজার অ্যারের জন্য, ফলাফলও অনসাইনড হবে। বিয়োগের ফলাফল নেগেটিভ হলে এটি অন্ডারফ্লো (underflow) করে বড় ধনাত্মক মান দেখাবে।

পদ্ধতি

লাইব্রেরি ইম্পোর্ট করুন

import numpy as np

অনসাইনড ইন্টিজার অ্যারে তৈরি করুন

arr = np.array([1, 0], dtype=np.uint8)

অ্যারে এবং বৈশিষ্ট্য দেখুন

print("আমাদের অ্যারে...\n", arr)
print("\nআমাদের অ্যারের মাত্রা...\n", arr.ndim)
print("\nআমাদের অ্যারে অবজেক্টের ডেটা টাইপ...\n", arr.dtype)

ডিসক্রিট ডিফারেন্স গণনা করুন

print("\nডিসক্রিট ডিফারেন্স..\n", np.diff(arr))

সম্পূর্ণ উদাহরণ

import numpy as np

# অনসাইনড ইন্টিজার অ্যারে (uint8)
arr = np.array([1, 0], dtype=np.uint8)

print("আমাদের অ্যারে...\n", arr)
print("\nআমাদের অ্যারের মাত্রা...\n", arr.ndim)
print("\nআমাদের অ্যারে অবজেক্টের ডেটা টাইপ...\n", arr.dtype)

# প্রথম ডিসক্রিট ডিফারেন্স
print("\nডিসক্রিট ডিফারেন্স..\n", np.diff(arr))

আউটপুট

আমাদের অ্যারে...
[1 0]

আমাদের অ্যারের মাত্রা...
1

আমাদের অ্যারে অবজেক্টের ডেটা টাইপ...
uint8

ডিসক্রিট ডিফারেন্স..
[255]

ব্যাখ্যা: 0 - 1 = -1, কিন্তু uint8 (০ থেকে ২৫৫) নেগেটিভ মান ধারণ করতে পারে না। তাই অন্ডারফ্লো হয়ে 255 (২⁸ - ১) হয়। সাইনড ইন্টিজার (int8) ব্যবহার করলে ফলাফল -1 আসত।

  1. দুই সর্টেড অ্যারে থেকে নিকটতম জোড়া বের করার পাইথন প্রোগ্রাম

  2. কাউন্টিং সর্টের পাইথন প্রোগ্রাম

  3. অ্যারে রোটেশনের পাইথন প্রোগ্রাম

  4. পাইথনে অ্যারের যোগফল বের করা