Numpy Filtresi

Numpy Filtresi



Elemanları almak veya bazı verilerden eleman almak filtreleme olarak bilinir. NumPy, diziler oluşturmamıza ve her türlü veriyi dizi biçiminde saklamamıza izin veren pakettir. Python tarafından sağlanan NumPy paketleriyle çalışırken dizilerde filtreleme söz konusu olduğunda, NumPy tarafından sağlanan yerleşik işlevleri kullanarak dizileri filtrelememize veya dizilerden veri almamıza olanak tanır. Dizileri filtrelemek için dizi konumlarına karşılık gelen bir Boolean listesi olan bir Boolean dizin listesi kullanılabilir. Dizinin dizinindeki öğe doğruysa, öğe diziden çıkarılmadığı sürece dizide saklanır.

Diyelim ki, diziler şeklinde depolanmış öğrenci verilerine sahibiz ve başarısız öğrencileri filtrelemek istiyoruz. Basitçe diziyi filtreleyeceğiz ve başarısız öğrencileri hariç tutacağız ve başarılı öğrencinin yeni bir dizisi elde edilecektir.

NumPy Dizisini filtreleme adımları

Aşama 1: NumPy modülünü içe aktarma.







Adım 2: Bir dizi oluşturma.



Aşama 3: Filtreleme koşulu ekleyin.



4. Adım: Yeni bir filtrelenmiş dizi oluşturun.





Sözdizimi:

Dizileri filtrelemenin birden çok yolu vardır. Sadece bir şartımız mı yoksa birden fazla şartımız mı olduğu gibi, filtrenin durumuna bağlıdır.

Yöntem 1: Bir Koşul İçin Aşağıdaki Sözdizimini İzleyeceğiz

dizi [ dizi < şart ]

Yukarıda bahsedilen sözdiziminde “array”, elemanlarını filtreleyeceğimiz dizinin adıdır. Ve koşul, öğelerin filtrelendiği durum olacaktır ve '<' operatörü, daha azını temsil eden matematiksel işarettir. Yalnızca bir koşulumuz veya ifademiz olduğunda onu kullanmak verimlidir.



Yöntem 2: “VEYA” Operatörünü Kullanma

dizi [ ( dizi < durum1 ) | ( dizi > durum2 ) ]

Bu yöntemde “dizi”, içinden değerleri filtreleyeceğimiz ve koşulun kendisine iletileceği dizinin adıdır. Operatör “|” 'VEYA' işlevini temsil etmek için kullanılır; bu, her iki koşuldan birinin doğru olması gerektiği anlamına gelir. İki koşul olduğunda yararlıdır.

Yöntem 3: “VE” Operatörünü Kullanma.

dizi [ ( dizi < durum1 ) & ( dizi > durum2 ) ]

Aşağıdaki sözdiziminde 'dizi', filtrelenecek dizinin adıdır. Oysa koşul, yukarıdaki sözdiziminde tartışıldığı gibi durum olacaktır, '&' kullanılan operatör ise AND operatörüdür; bu, her iki koşulun da doğru olması gerektiği anlamına gelir.

Yöntem 4: Listelenen Değerlere Göre Filtreleme

dizi [ Örneğin. in1d ( dizi , [ Değerler listesi ] ) ]

Bu yöntemde, filtrelenecek dizinin elemanının başka bir dizide bulunup bulunmadığını iki diziyi karşılaştırmak için kullanılan tanımlı “np.in1d” dizimizi geçtik. Ve dizi, verilen diziden filtrelenecek olan np.in1d ​​işlevine iletilir.

Örnek # 01:

Şimdi yukarıda anlatılan yöntemi bir örnek üzerinde uygulayalım. İlk olarak Python tarafından sağlanan NumPy kitaplıklarımızı ekleyeceğiz. Daha sonra “2”, “3”, “1”, “9”, “3”, “5”, “6” ve “1” değerlerini tutacak “my_array” adında bir dizi oluşturacağız. Ardından “my_array[(my_array < 5)]” olan filtre kodumuzu print deyimine ileteceğiz, yani “5” ten küçük değerleri filtreliyoruz. Bir sonraki satırda, “1”, “2”, “6”, “3”, “8”, “1” ve “0” değerlerine sahip olmaktan sorumlu başka bir “dizi” ismi dizisi oluşturduk. Print deyimine 5'ten büyük değerleri yazdıracağımız koşulunu geçtik.

Son olarak “arr” adını verdiğimiz başka bir dizi oluşturduk. “6”, “7”,”10”, “12” ve “14” değerlerini tutar. Şimdi bu dizi için, koşul eşleşmezse ne olacağını görmek için dizide olmayan değeri yazdıracağız. Bunun için “5” değerine eşit olan değeri filtreleyecek koşulu geçtik.

içe aktarmak dizi olarak Örneğin.

benim_dizim = Örneğin. dizi ( [ iki , 3 , 1 , 9 , 3 , 5 , iki , 6 , 1 ] )

Yazdır ( '5'ten küçük değerler' , benim_dizim [ ( benim_dizim < 5 ) ] )

dizi = Örneğin. dizi ( [ 1 , iki , 6 , 3 , 8 , 1 , 0 ] )

Yazdır ( '5'ten büyük değerler' , dizi [ ( dizi > 5 ) ] )

varış = Örneğin. dizi ( [ 6 , 7 , 10 , 12 , 14 ] )

Yazdır ( 'değerler 5'e eşittir' , varış [ ( varış == 5 ) ] )

Kodu çalıştırdıktan sonra, 3 çıktıyı görüntülediğimiz sonuç olarak aşağıdaki çıktıya sahibiz, ilki “5” ten küçük olan elemanlar için, ikinci uygulamada “5” ten büyük değerleri yazdırdık. Sonunda, gördüğümüz gibi var olmayan değeri yazdırdık, herhangi bir hata göstermiyor, ancak boş diziyi görüntülüyor, bu da istenen değerin verilen dizide olmadığı anlamına geliyor.

Örnek # 02:

Bu örnekte, dizileri filtrelemek için birden fazla koşul kullanabileceğimiz yöntemlerden bazılarını kullanacağız. Bunu gerçekleştirmek için NumPy kitaplığını içe aktaracağız ve ardından “24”, “3”, “12”, “9”, “3”, “5” değerlerine sahip “9” boyutunda tek boyutlu bir dizi oluşturacağız. “2”, “6” ve “7”. Sonraki satırda “my_array” ismiyle başlattığımız bir diziyi argüman olarak koşulla ilettiğimiz bir print deyimi kullandık. Bunda, her ikisinden de veya koşulunu geçtik, bir koşulun doğru olması gerekir. Her ikisi de doğruysa, her iki koşul için de verileri görüntüler. Bu durumda “5”ten küçük ve “9”dan büyük değerleri yazdırmak istiyoruz. Sonraki satırda, diziyi filtrelemek için bir koşul kullanırsak ne olacağını kontrol etmek için AND operatörünü kullandık. Bu durumda “5”ten büyük ve “9”dan küçük değerler gösterdik.

numpy'yi içe aktar olarak Örneğin.

benim_dizim = Örneğin. dizi ( [ 24 , 3 , 12 , 9 , 3 , 5 , iki , 6 , 7 ] )

Yazdır ( 'değerlerden daha düşük 5 veya daha büyük 9 , benim_dizim [ ( benim_dizim < 5 ) | ( benim_dizim > 9 ) ] )

Yazdır ( “değerlerden büyük 5 ve daha az 9 , benim_dizim [ ( benim_dizim > 5 ) & ( benim_dizim < 9 ) ] )

Aşağıdaki snippet'te gösterildiği gibi, diziyi filtrelediğimiz ve aşağıdaki sonucu aldığımız yukarıdaki kod için sonucumuz görüntülenir. Gördüğümüz gibi ilk çıktıda 9'dan büyük ve 5'ten küçük değerler görüntülenir ve 5 ile 9 arasındaki değerler ihmal edilir. Sonraki satırda ise “5” ile “9” arasındaki değerleri yani “6” ile “7” arasındaki değerleri yazdırdık. Dizilerin diğer değerleri görüntülenmez.

Çözüm

Bu kılavuzda, NumPy paketi tarafından sağlanan filtre yöntemlerinin kullanımını kısaca tartıştık. Numpy tarafından sağlanan filtre metodolojilerini uygulamanın en iyi yolunu sizin için detaylandırmak için birden fazla örnek uyguladık.