نمپی آرری فیلٹر
- صفحه قبلی نمپی آرری ترتیب
- صفحه بعدی نمپی رینڈم
فیلتر کردن آرایه
برداشت از آرایههای موجود و ایجاد آرایههای جدید از آنها به عنوان فیلتر (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: اگر عنصر بيشتر از 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)
- صفحه قبلی نمپی آرری ترتیب
- صفحه بعدی نمپی رینڈم