NumPy 数组迭代

আর্রেইজ পর্যায়ক্রম

পর্যায়ক্রম অর্থাৎ এককভাবে পর্যায়ক্রমে অবলম্বন করা

যখন আমরা numpy-এ বহুমাত্রিক আর্রেইজকে পরিচালনা করি, তখন আমরা python-এর প্রাথমিক for পুনরাবৃত্তিকে ব্যবহার করতে পারি এই কাজটি করা।

যদি আমরা 1-D আর্রেইজকে পর্যায়ক্রমে অবলম্বন করি, তবে প্রত্যেক এলিমেন্টকে এককভাবে অবলম্বন করবে。

একককার্য

এই একমাত্র আর্রেইজটির এলিমেন্টকে পর্যায়ক্রমে অবলম্বন করা

import numpy as np
arr = np.array([1, 2, 3])
for x in arr:
  print(x)

একককার্য চালু করুন

2-D আর্রেইজ পর্যায়ক্রমে অবলম্বন করা

2-D আর্রেইজে, তা সবচেয়ে সবকটি সারি পর্যায়ক্রমে অবলম্বন করবে。

একককার্য

এই দ্বিমাত্রিক আর্রেইজটির এলিমেন্টকে পর্যায়ক্রমে অবলম্বন করা

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x in arr:
  print(x)

একককার্য চালু করুন

যদি আমরা n-ডিমেনশনাল আর্রেইজকে পর্যায়ক্রমে অবলম্বন করি, তবে তা n-1 ডিমেনশনের পর্যায়ক্রমে এককভাবে অবলম্বন করবে。

যদি আমরা প্রকৃত মান, স্ক্যালার পর্যায়ক্রমে অবলম্বন করতে চাই, তবে প্রত্যেক অক্ষের আর্রেইজকে পর্যায়ক্রমে অবলম্বন করতে হবে。

একককার্য

2-D আর্রেইজের প্রত্যেক স্ক্যালার এলিমেন্টকে পর্যায়ক্রমে অবলম্বন করা

import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
for x in arr:
  for y in x:
    print(y)

একককার্য চালু করুন

3-D আর্রেইজ পর্যায়ক্রমে অবলম্বন করা

3-D আর্রেইজে, তা সবচেয়ে 2-D আর্রেইজকে পর্যায়ক্রমে অবলম্বন করবে。

একককার্য

এই 3-D আর্রেইজটির এলিমেন্টকে পর্যায়ক্রমে অবলম্বন করা

import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
for x in arr:
  print(x)

একককার্য চালু করুন

যদি আমরা প্রকৃত মান, স্ক্যালার পর্যায়ক্রমে অবলম্বন করতে চাই, তবে প্রত্যেক অক্ষের আর্রেইজকে পর্যায়ক্রমে অবলম্বন করতে হবে。

একককার্য

স্ক্যালার পর্যায়ক্রমে অবলম্বন করা

import numpy as np
arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
for x in arr:
  for y in x:
    for z in y:
      print(z)

একককার্য চালু করুন

nditer() দ্বারা আর্রেইজ পর্যায়ক্রমে অবলম্বন করা

ফাংশন nditer() একটি সহযোগী ফাংশন, যা অত্যন্ত প্রাথমিক থেকে অত্যন্ত অগ্রগতিশীল পর্যায়ক্রমে পরিদর্শন করা যায়। এটি আমাদের পর্যায়ক্রমে সম্মুখীন হওয়া কিছু প্রশ্নকে সমাধান করে, আমরা একটি উদাহরণ দিয়ে পরিচয় করাই।

প্রত্যেক স্ক্যালার এলিমেন্ট পর্যায়ক্রমে পরিদর্শন করা

প্রাথমিক for পুনরাবৃত্তিতে, আর্রেইজের প্রত্যেক স্ক্যালার পর্যায়ক্রমে অবলম্বন করতে, আমরা nটি for পুনরাবৃত্তিতে, উচ্চ সমপরিমাণের আর্রেইজের জন্য লিখা হতে কঠিন

একককার্য

এই 3-D আর্রেইজটি পর্যায়ক্রমে পরিদর্শন করা

import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
for x in np.nditer(arr):
  print(x)

একককার্য চালু করুন

বিভিন্ন ডাটা টাইপের আর্রেইজ পর্যায়ক্রমে অবলম্বন করা

আমরা ব্যবহার করতে পারি op_dtypes প্যারামিটার পাঠানো এবং আশা করা ডাটা টাইপকে পাঠানো, যাতে পুনরাবৃত্তিতে এলিমেন্টের ডাটা টাইপ পরিবর্তন করা যায়。

NumPy এলিমেন্টের ডাটা টাইপকে ইনসাইটভাবে পরিবর্তন করবে না (এলিমেন্টগুলি এক্সেকিউটিং এলিমেন্টে অবস্থিত), তাই এই কাজ করার জন্য অন্য কিছু স্পেস চাই, এই অতিরিক্ত স্পেসটিকে buffer বলা হয়, যার প্রতি nditer() এটা সক্রিয় করলে, আমরা নিম্নোক্ত পারামিটার পাঠাই flags=['buffered']

একককার্য

একসারির মধ্যে স্ট্রিং হিসাবে সার্চ করুন:

import numpy as np
arr = np.array([1, 2, 3])
for x in np.nditer(arr, flags=['buffered'], op_dtypes=['S'])
  print(x)

একককার্য চালু করুন

ভিন্ন পদক্ষেপে চলাচল করুন

এমনকি আমরা ফিল্টারিং করতে পারি এবং তারপর চলাচল করতে পারি。

একককার্য

2D আইসিডিবির একটি স্ক্যালার এলিমেন্ট প্রতিবার চলাচল করার সময় 1টি এলিমেন্ট ছাড়া করুন:

import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for x in np.nditer(arr,):
  print(x)

একককার্য চালু করুন

ndenumerate() দ্বারা এনামারেশন করুন

এনামারেশন হল ক্রমানুসারে উল্লেখ করা

কখনও কখনও আমরা ইন্টারেটিং সময় এলিমেন্টের প্রতিপক্ষ ইনডেক্স চাই, এই ক্ষেত্রে আমরা ndenumerate() পদ্ধতি。

একককার্য

নিম্নোক্ত 1D আইসিডিবির এলিমেন্টগুলি এনামারেট করুন:

import numpy as np
arr = np.array([1, 2, 3])
for idx, x in np.ndenumerate(arr):
  print(idx, x)

একককার্য চালু করুন

একককার্য

নিম্নোক্ত 2D আইসিডিবির এলিমেন্টগুলি এনামারেট করুন:

import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
for idx, x in np.ndenumerate(arr):
  print(idx, x)

একককার্য চালু করুন