٪۴۰ تخفیف تابستانه شروع شد! بزرگترین حراج سال ما

به ما بپیوندید

آموزش آرایه فیلتر NumPy

فیلتر کردن آرایه ها به برخی عناصر از یک آرایه موجود و ایجاد یک آرایه جدید از آنها فیلترینگ گفته می شود . در NumPy ، یک آرایه را با استفاده از فهرست فهرست بولی فیلتر می کنید . لیست شاخص بولی یک لیست از Booleans می…

محمد یوسفی

13 سپتامبر 2021

فیلتر کردن آرایه ها

به برخی عناصر از یک آرایه موجود و ایجاد یک آرایه جدید از آنها فیلترینگ گفته می شود .

در NumPy ، یک آرایه را با استفاده از فهرست فهرست بولی فیلتر می کنید .

لیست شاخص بولی یک لیست از Booleans می مربوط به شاخص در آرایه است.

اگر مقدار یک شاخص Trueآن عنصر موجود در آرایه فیلتر شده باشد ، اگر مقدار آن شاخص باشد ، Falseاین عنصر از آرایه فیلتر حذف می شود.

مثال

یک آرایه از عناصر فهرست 0 و 2 ایجاد کنید:

import numpy as np

arr = np.array([41, 42, 43, 44])

x = [True, False, True, False]

newarr = arr[x]

print(newarr)

مثال بالا برمی گردد [41, 43]، چرا؟

زیرا فیلتر جدید تنها مقادیری را دارد که آرایه فیلتر دارای مقدار بود True، در این مورد ، شاخص 0 و 2.


ایجاد فیلتر آرایه

در مثال بالا مقادیر True and را به سختی کدگذاری Falseکردیم ، اما استفاده متداول ایجاد یک آرایه فیلتر بر اساس شرایط است.

مثال

یک آرایه فیلتر ایجاد کنید که فقط مقادیر بالاتر از 42 را باز می گرداند:

import numpy as np

arr = np.array([41, 42, 43, 44])

# Create an empty list
filter_arr = []

# go through each element in arr
for element in arr:
  # if the element is higher than 42, set the value to True, otherwise False:
  if element > 42:
    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])

# Create an empty list
filter_arr = []

# go through each element in arr
for element in arr:
  # if the element is completely divisble by 2, set the value to True, otherwise 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 یک راه خوب برای مقابله با آن ارائه می دهد.

ما می توانیم آرایه را بجای متغیر قابل تکرار در شرایط خود جایگزین کنیم و درست همانطور که انتظار داریم کار می کند.

مثال

یک آرایه فیلتر ایجاد کنید که فقط مقادیر بالاتر از 42 را باز می گرداند:

import numpy as np

arr = np.array([41, 42, 43, 44])

filter_arr = arr > 42

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)

منبع

مطالب مرتبط

0 0 رای ها
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها