Veri Bilimi & Veri Manipülasyonu - Numpy
Fancy Index ile Elemanlara Erişmek
Yazar:
Enes ASAN
Yayın tarihi :16-Ara-21
Bölüm kodlarını ve/veya veri setlerini indir.
Fancy Index, dizilierde erişmek istenilen index değerlerini liste halinde getirilerek dizi elemanlarına erişme yöntemidir.
Örnek-1: Tek boyutlu dizilerde Fancy Index yöntemini uygulayalım.
import numpy as np
array=np.random.randint(1,20,10)
print(f"Oluşturulan dizi:{array}")
#Erişilmek istenilen index değerleri liste haline getirilir.
fancyList=[1,3,5]
#Oluşturulan "fancyList" değerleri diziye uygulanır
result=array[fancyList]
print(f"Erişilen dizi:{result}")
Çıktı:
Oluşturulan dizi:[13 10 6 12 1 15 10 2 7 6] Erişilen dizi:[10 12 15]
Örnek-2: Çok boyutlu dizilerde Fancy Index yöntemini uygulayalım.
import numpy as np
array=np.random.randint(1,20,(6,6))
print(f"Oluşturulan dizi:\n {array}")
print("\n")
#Erişilmek istenilen index değerleri liste haline getirilir.
fancyList=[0,2,4]
#Oluşturulan "fancyList" değerleri diziye uygulanır
#Satır bazında dizi elemanlarına erişmek
print(f"Dizinin {fancyList} Satırları :\n {array[fancyList]}")
print("\n")
#Sütun bazında dizi elemanlarına erişmek
print(f"Dizinin {fancyList} Sütunları: \n {array[:,fancyList]}")
Çıktı:
Oluşturulan dizi: [[17 13 6 11 18 17] [16 17 3 7 11 18] [ 1 16 13 16 9 5] [17 13 11 1 13 5] [12 8 6 6 19 2] [ 8 4 12 17 18 14]] Dizinin [0, 2, 4] Satırları : [[17 13 6 11 18 17] [ 1 16 13 16 9 5] [12 8 6 6 19 2]] Dizinin [0, 2, 4] Sütunları: [[17 6 18] [16 3 11] [ 1 13 9] [17 11 13] [12 6 19] [ 8 12 18]]
Örnek-3: Satır ve sütun değerleri tanımlayarak elemanlara erişelim.
import numpy as np
array=np.random.randint(1,20,(6,6))
print(f"Oluşturulan dizi:\n {array}")
print("\n")
#Erişilmek istenilen index değerleri liste haline getirilir.
row,col=[1,5],[4,3]
#Oluşturulan "fancyList" değerleri diziye uygulanır
print(f"Dizinin {row,col} Satır ve Sütun Elemanları: {array[row,col]}")
Çıktı:
Oluşturulan dizi: [[ 5 15 2 3 4 3] [13 19 18 2 18 1] [ 8 17 16 7 8 18] [19 14 12 19 12 7] [16 5 19 18 18 11] [ 7 13 12 10 13 14]] Dizinin ([1, 5], [4, 3]) Satır ve Sütun Elemanları: [18 10]
Örnek-4: Fancy Index ve Slicing and Dicing yöntemerini bir dizi üzerinde ugulayalım.
import numpy as np
array=np.random.randint(1,20,(6,6))
print(f"Oluşturulan dizi:\n {array}")
print("\n")
#Erişilmek istenilen index değerleri liste haline getirilir.
row=[1,4]
#Sütun değerleri de Slicing olarak giriş yapılsın.
#Oluşturulan "fancyList" değerleri diziye uygulanır
print(f"Diziye Fancy ve Slicing birlikte uygulanırsa: \n {array[row,1:2]}")
Çıktı:
Oluşturulan dizi: [[13 16 2 10 5 14] [18 4 4 16 19 7] [10 8 17 16 19 14] [19 6 2 19 15 16] [ 3 7 4 13 10 7] [ 2 6 7 5 16 18]] Diziye Fancy ve Slicing birlikte uygulanırsa: [[4] [7]]