Veri Bilimi & Veri Manipülasyonu - Numpy
Koşullu Eleman İşlemleri
Bir dizi içerisinde filtreleme yapmak isteniyorsa "diziAdı[ koşul ]" yapısı kullanılabilir.
Örnek-1: Rastgele dizi oluşturarak 5'den büyük olan dizi elemanlarını görüntüleyelim.
import numpy as np
array=np.random.randint(1,20,10)
print(f"Oluşturulan dizi:{array}")
#Koşul ifadesi dizi içersine girilir.
#Oluşturulan dizi elemanlarının değerinin 5'den büyük olanları getir.
result=array[array>5]
print(f"5'den büyük olan dizi elemanları listesi:{result}")
Çıktı:
Oluşturulan dizi:[ 8 9 1 10 9 10 2 14 13 11] 5'den büyük olan dizi elemanları listesi:[ 8 9 10 9 10 14 13 11]
Örnek-2: Rastgele dizi oluşturarak 6'den büyük ve 12'den küçük olan dizi elemanlarını görüntüleyelim.
import numpy as np
array=np.random.randint(1,20,10)
print(f"Oluşturulan dizi:{array}")
#Koşul ifadesi dizi içersine girilir.
#ve: "&" simgesi
#veya: "|" simgesi
#Oluşturulan dizi elemanlarının değerinin 6'dan büyük 12'den küçük olanları getir.
result=array[(array>6) & (array<12)]
print(f"6'den büyük 12'den küçük olan dizi elemanları listesi:{result}")
Çıktı:
Oluşturulan dizi:[19 2 15 12 17 7 8 10 14 4] 6'den büyük 12'den küçük olan dizi elemanları listesi:[ 7 8 10]
Örnek-3: String verilerden oluşan dizi oluşturarak filtreleme işlemi uygulayalım.
import numpy as np
array=np.array(["Ali","Veli","Selami","Hakan","Ali"])
print(f"Oluşturulan dizi:{array}")
#Koşul ifadesi dizi içersine girilir.
#Oluşturulan dizide Ali olan elemanları getir.
result=array[array=="Ali"]
print(f"Filtrelenmiş dizi:{result}")
Çıktı:
Oluşturulan dizi:['Ali' 'Veli' 'Selami' 'Hakan' 'Ali'] Filtrelenmiş dizi:['Ali' 'Ali']
Örnek-4: Dizi içerisinde "a" harfi geçen elemanları listeleyelim.
import numpy as np
array=np.array(["Ali","Veli","Selami","Hakan","Ali"])
print(f"Oluşturulan dizi:{array}")
#Koşul ifadesi dizi içersine girilir.
#Oluşturulan dizide Ali olan elemanları getir.
result=array[list(map(lambda x: True if (x.find("a"))!=-1 else False,array))]
print(f"Filtrelenmiş dizi:{result}")
Çıktı:
Oluşturulan dizi:['Ali' 'Veli' 'Selami' 'Hakan' 'Ali'] Filtrelenmiş dizi:['Selami' 'Hakan']
**Not: Yukarıdaki son örnekte "Ali" isminde de "A" harfi geçmesine rağmen onu filtrelenmiş diziye dahil etmemesinin nedeni büyük küçük harf duyarlılığından dolayıdır. Filtreleme işlemleri sırasında doğru filtreleme yapılmak istenirse, tüm elemanları ve aranacak kelimeleri küçük harfe çevirmek gerekmektedir.