NumPy आर्रे फ़िल्टरिंग

आरेय फिल्टरिंग

एक मौजूदा आरेय से कुछ एलीमेंट निकालकर उससे नए आरेय को बनाना फिल्टरिंग कहलाता है。

NumPy में, हम बूल इंडेक्स सूची को आरेय को फिल्टर करने के लिए प्रयोग करते हैं。

बूल इंडेक्स सूची आरेय में के इंडेक्स के साथ बूल मूल्यों की सूची है。

यदि टाइप के मान Trueतो वह एलीमेंट फिल्टर किए गए आरेय में शामिल होगा; यदि टाइप के मान Falseतो वह एलीमेंट फिल्टर किए गए आरेय से बाहर होगा。

उदाहरण

टाइप 0 और 2, 4 पर वाले एलीमेंटों से एक आरेय बनाएं:

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

उदाहरण चलाएँ

उस प्रयोग में बदले जाएगा [61, 63, 65]क्यों?

क्योंकि नए फिल्टर में केवल फिल्टर आरेय के मान हैं True के मान को तय किया, इसलिए इस मामले में टाइप 0 और 2, 4 हैं。

फिल्टर आरेय बनाने

उस प्रयोग में, हमने True और False मान को हार्डकोड किया गया है, लेकिन आम उपयोग में फिल्टर आरेय बनाने के लिए शर्तों के अनुसार प्रयोग किया जाता है。

उदाहरण

एक केवल 62 से बड़े तत्वों को वापस करने वाले फिल्टर अर्रे बनाएं:

import numpy as np
arr = np.array([61, 62, 63, 64, 65])
# एक खाली सूची बनाएं
filter_arr = []
# arr में सभी तत्वों को घूम
for element in arr:
  # यदि एलीमेंट 62 से बड़ा है तो मान को True रखें, अन्यथा False:
  यदि एलीमेंट 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)

उदाहरण चलाएँ

सीधे अर्रे से फिल्टर अर्रे बनाएं

इस उदाहरण नुम्पीया में बहुत सामान्य कार्य है, नुम्पीया इस समस्या को सुलझाने के लिए अच्छी तरीके से उपलब्ध कराता है।

हम शर्त में सीधे अर्रे को बदल सकते हैं न कि iterable चलन वाले, यह वैसा ही काम करेगा जैसा हमें चाहिए।

उदाहरण

एक केवल 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)

उदाहरण चलाएँ