نمپی آرری فیلٹر

数组过滤

从现有数组中取出一些元素并从中创建新数组称为过滤(filtering)。

在 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:
  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 ਇਸ ਪ੍ਰਸ਼ਨ ਦਾ ਮਜ਼ਬੂਤ ਸਮਾਧਾਨ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ。

ਅਸੀਂ ਸਿਰਫ ਇੱਕ ਆਰਰੇ ਵਿੱਚ ਸ਼ਰਤ ਵਿੱਚ ਸਿਰਫ ਇੱਕ 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)

ਇੰਸਟੈਂਸ ਚਲਾਓ