NumPy অ্যারে ফিল্টার
- পূর্ববর্তী পৃষ্ঠা NumPy অ্যারে ক্রম
- পরবর্তী পৃষ্ঠা 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)
- পূর্ববর্তী পৃষ্ঠা NumPy অ্যারে ক্রম
- পরবর্তী পৃষ্ঠা NumPy এক্সকলসিভ