NumPy massivlarini filtrlash


ULASHISH

Massivlarni filtrlash

Mavjud massivdan ba’zi elementlarni olib, ulardan yangi massiv yaratish filtrlash deb ataladi.

NumPyda massiv boolean indekslar ro‘yxati yordamida filtrlanadi.

Boolean indekslar ro‘yxati — massivdagi indekslarga mos keladigan boolean qiymatlar ro‘yxati.

Agar indeksdagi qiymat True bo‘lsa, o‘sha element filtrlangan massivga kiritiladi, agar o‘sha indeksdagi qiymat False bo‘lsa, element filtrlangan massivdan chiqarib tashlanadi.

Misol

0 va 2-indekslardagi elementlardan massiv yarating:

import numpy as np arr = np.array([41, 42, 43, 44]) x = [True, False, True, False] newarr = arr[x] print(newarr)
O‘zingiz sinab ko‘ring »

Yuqoridagi misol [41, 43] qaytaradi, nega?

Chunki yangi massiv faqat filtr massivida True qiymati turgan joylardagi qiymatlarni o‘z ichiga oladi, bu holatda 0 va 2-indekslar.


Filtr massivini yaratish

Yuqoridagi misolda True va False qiymatlarini kodga qo‘lda yozdik, lekin odatda filtr massivi shartlar asosida yaratiladi.

Misol

Faqat 42 dan katta qiymatlarni qaytaradigan filtr massivini yarating:

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)
O‘zingiz sinab ko‘ring »


Misol

Asl massivdan faqat juft elementlarni qaytaradigan filtr massivini yarating:

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)
O‘zingiz sinab ko‘ring »

Filtrni to‘g‘ridan-to‘g‘ri massivdan yaratish

Yuqoridagi misol NumPyda juda keng tarqalgan vazifa bo‘lib, NumPy uni hal qilishning qulay usulini taklif etadi.

Shartimizda iteratsiya qilinadigan o‘zgaruvchi o‘rniga massivning o‘zini to‘g‘ridan-to‘g‘ri qo‘yishimiz mumkin va u biz kutgandek ishlaydi.

Misol

Faqat 42 dan katta qiymatlarni qaytaradigan filtr massivini yarating:

import numpy as np arr = np.array([41, 42, 43, 44]) filter_arr = arr > 42 newarr = arr[filter_arr] print(filter_arr) print(newarr)
O‘zingiz sinab ko‘ring »

Misol

Asl massivdan faqat juft elementlarni qaytaradigan filtr massivini yarating:

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)
O‘zingiz sinab ko‘ring »


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!