NumPy অ্যারে ফিল্টার

অ্যারে ফিল্টারিং

কিছু এলিমেন্টকে সম্পূর্ণ অ্যারে থেকে বের করে একটি নতুন অ্যারে তৈরি করা হল, এটি ফিল্টারিং নামে পরিচিত。

NumPy-তে, আমরা বুল ইনডেক্স তালিকা ব্যবহার করে অ্যারে ফিল্টার করি。

বুল ইনডেক্স তালিকা একটি বুল মানের তালিকা, যা অ্যারের ইনডেক্স-এর সাথে সম্পৃক্ত

যদি ইনডেক্স-এর মান Trueতবে এই ইলিমেন্টটি ফিল্টারকৃত অ্যারেতে থাকবে; যদি ইনডেক্স-এর মান Falseতবে এই ইলিমেন্টটি ফিল্টারকৃত অ্যারে থেকে বাদ দিতে হবে。

ইনস্ট্যান্স

ইনডেক্স ০ এবং ২, ৪-র উপর এলিমেন্ট দিয়ে একটি অ্যারে তৈরি করুন:

import numpy as np
arr = np.array([61, 62, 63, 64, 65])
x = [True, False, True, False, True]
newarr = arr[x]
print(newarr)

ইনস্ট্যান্স চালু করুন

উপরোক্ত উদাহরণ ফলন করবে [৬১, ৬৩, ৬৫]কেন?

কারণ নতুন ফিল্টার শুধুমাত্র ফিল্টার অ্যারের মান ধারণ করে True এর মান, তাই এই ক্ষেত্রে, ইনডেক্স ০ এবং ২, ৪ হবে。

ফিল্টার অ্যারে তৈরি করা

উপরোক্ত উদাহরণে, আমরা True এবং False মানটি হার্ডকোড করা হয়েছে, কিন্তু সাধারণভাবে এটি ব্যবহার করা হয় এমনভাবে যেমন পরিস্থিতি অনুযায়ী ফিল্টার অ্যারে তৈরি করা。

ইনস্ট্যান্স

একটি ফিল্টার আর্রেই তৈরি করুন, যা শুধুমাত্র 62 থেকে বেশি মান ফিরিয়ে দেবে:

import numpy as np
arr = np.array([61, 62, 63, 64, 65])
# একটি খালি তালিকা তৈরি করুন
filter_arr = []
# arr-এর প্রত্যেক এলিমেন্ট পার্শ্ববর্তীভাবে ব্যবহার করুন
for element in arr:
  যদি এলিমেন্ট ৬২ থেকে বড় হয়, তবে মানটিকে True হিসাবে সেট করুন, না তবে False হিসাবে সেট করুন:
  if element > 62:
    filter_arr.append(True)
  else:
    filter_arr.append(False)
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)

ইনস্ট্যান্স চালু করুন

ইনস্ট্যান্স

একটি ফিল্টার আর্রেই তৈরি করুন, যা শুধুমাত্র মৌলিক আর্রেইতে পুনরাবৃত্ত দুহারী এলিমেন্টগুলি ফিরিয়ে দেবে:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
# একটি খালি তালিকা তৈরি করুন
filter_arr = []
# arr-এর প্রত্যেক এলিমেন্ট পার্শ্ববর্তীভাবে ব্যবহার করুন
for element in arr:
  # যদি এলিমেন্ট 2-এর দ্বারা বিভক্ত হতে পারে, তবে মানকে True হিসাবে নিন, না তবে False
  if element % 2 == 0:
    filter_arr.append(True)
  else:
    filter_arr.append(False)
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)

ইনস্ট্যান্স চালু করুন

আর্রেই থেকে সরাসরি ফিল্টার তৈরি করুন

এই উদাহরণটি NumPy-এর অত্যন্ত সাধারণ কাজ, NumPy এই সমস্যা সমাধান করার একটি ভালো পদ্ধতি প্রদান করে。

আমরা শর্তের মধ্যে সরাসরি আর্রেইকে প্রতিস্থাপন করতে পারি, যা আমাদের আশা করা মতোভাবে কাজ করবে。

ইনস্ট্যান্স

একটি ফিল্টার আর্রেই তৈরি করুন, যা শুধুমাত্র 62 থেকে বেশি মান ফিরিয়ে দেবে:

import numpy as np
arr = np.array([61, 62, 63, 64, 65])
filter_arr = arr > 62
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)

ইনস্ট্যান্স চালু করুন

ইনস্ট্যান্স

একটি ফিল্টার আর্রেই তৈরি করুন, যা শুধুমাত্র মৌলিক আর্রেইতে পুনরাবৃত্ত দুহারী এলিমেন্টগুলি ফিরিয়ে দেবে:

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6, 7])
filter_arr = arr % 2 == 0
newarr = arr[filter_arr]
print(filter_arr)
print(newarr)

ইনস্ট্যান্স চালু করুন