top of page

Numpy İleri Seviye Konular



Hands-on Mentor Kapsamlı Blog İçeriği
Hands-on Mentor Tutorials





Sorting

Numpy array'lerini sıralama işlemleri, verilerin düzenlenmesi ve analizi için önemli bir adımdır. Numpy'da array'leri sıralamak için sort() ve argsort() fonksiyonları kullanılır.


sort() Fonksiyonu

sort() fonksiyonu, bir array'in elemanlarını belirli bir düzende sıralar. Bu fonksiyon, array'in orijinal verisini değiştirir ve sıralanmış bir array döner.


Tek Boyutlu Array Sıralama


import numpy as np

# Rastgele sayılardan oluşan bir array oluşturma
array = np.random.randint(1, 100, size=10)
print("Original Array:", array)
# Çıktı: Original Array: [56 23 72 14 67 89 45 11 38 76]

# Array'i sıralama
sorted_array = np.sort(array)
print("Sorted Array:", sorted_array)
# Çıktı: Sorted Array: [11 14 23 38 45 56 67 72 76 89]


Çok Boyutlu Array Sıralama


import numpy as np

# 3x3 boyutunda rastgele sayılardan oluşan bir array oluşturma
array = np.random.randint(1, 100, size=(3, 3))
print("Original Array:\\n", array)
# Çıktı:
# Original Array:
# [[36 88 70]
#  [32 23 87]
#  [43 95  2]]

# Array'i satırlara göre sıralama
sorted_array = np.sort(array, axis=1)
print("Row-wise Sorted Array:\\n", sorted_array)
# Çıktı:
# Row-wise Sorted Array:
# [[36 70 88]
#  [23 32 87]
#  [ 2 43 95]]


argsort() Fonksiyonu

argsort() fonksiyonu, bir array'in sıralı indekslerini döner. Bu, sıralama sırasındaki orijinal indeksleri elde etmek için kullanılır.


Örnek:


import numpy as np

# Rastgele sayılardan oluşan bir array oluşturma
array = np.random.randint(1, 100, size=10)
print("Original Array:", array)
# Çıktı: Original Array: [75 39 61 82 90 47 22 57 32 12]

# Array'in sıralı indekslerini alma
sorted_indices = np.argsort(array)
print("Sorted Indices:", sorted_indices)
# Çıktı: Sorted Indices: [9 6 8 1 5 7 2 0 3 4]

# Sıralı indeksler ile array'i sıralama
sorted_array_by_indices = array[sorted_indices]
print("Sorted Array by Indices:", sorted_array_by_indices)
# Çıktı: Sorted Array by Indices: [12 22 32 39 47 57 61 75 82 90]


Filtering Arrays

Numpy'da koşullu filtreleme ve maskeleme işlemleri, belirli kriterlere uyan elemanları seçmek için kullanılır. Boolean array'ler ile filtreleme yaygın bir tekniktir.


Boolean Array ile Filtreleme


Örnek:


import numpy as np

# Rastgele sayılardan oluşan bir array oluşturma
array = np.random.randint(1, 100, size=10)
print("Original Array:", array)
# Çıktı: Original Array: [64 22 13 43 89 31 58 72 45 17]

# 50'den büyük elemanları filtreleme
filter_condition = array > 50
filtered_array = array[filter_condition]
print("Filtered Array:", filtered_array)
# Çıktı: Filtered Array: [64 89 58 72]


Fancy Indexing vs np.where()

Numpy'da gelişmiş indeksleme teknikleri, verileri daha esnek bir şekilde seçmeye olanak tanır. fancy indexing ve np.where() fonksiyonu bu işlemleri gerçekleştirir.


Fancy Indexing

Fancy indexing, array'lerden belirli elemanları seçmek için indekslerin liste veya array olarak kullanılmasıdır.


Örnek:


import numpy as np

# 1'den 10'a kadar olan sayılardan bir array oluşturma
array = np.arange(1, 11)
print("Original Array:", array)
# Çıktı: Original Array: [ 1  2  3  4  5  6  7  8  9 10]

# Belirli indekslerin seçilmesi
indices = [0, 2, 4, 6]
fancy_indexed_array = array[indices]
print("Fancy Indexed Array:", fancy_indexed_array)
# Çıktı: Fancy Indexed Array: [1 3 5 7]


np.where() Fonksiyonu

np.where() fonksiyonu, belirli bir koşula uyan elemanların indekslerini veya değerlerini döner.


Örnek:


import numpy as np

# 1'den 10'a kadar olan sayılardan bir array oluşturma
array = np.arange(1, 11)
print("Original Array:", array)
# Çıktı: Original Array: [ 1  2  3  4  5  6  7  8  9 10]

# 5'ten büyük elemanların indekslerini alma
indices = np.where(array > 5)
print("Indices where array > 5:", indices)
# Çıktı: Indices where array > 5: (array([5, 6, 7, 8, 9]),)

# 5'ten büyük elemanları alma
values = array[indices]
print("Values where array > 5:", values)
# Çıktı: Values where array > 5: [ 6  7  8  9 10]


Bu dersin üçüncü partı ile Numpy array'lerini sıralama, filtreleme ve gelişmiş indeksleme tekniklerini öğrendik. Bir sonraki partta, Numpy ile veri manipülasyonunda daha fazla teknik öğreneceğiz ve bu teknikleri uygulayacağız.

 

Python temellerini atıp, veri analizi ve bilimi için yetkinlik kazanmak istiyorsanız, 1 aylık yoğun Python kampına hemen kayıt olabilirsiniz. ~40 saat canlı ders, ~50 adet kapsamlı proje, ~15 adet quiz ve sayısız kodlama egzersizinden oluşan, Finlandiya eğitim modellerinden esinlenilerek Helsinki'de geliştirilen interaktif ve pratik odaklı eğitim programına hemen göz atın !




bottom of page