NumPy Shape ve Reshape Kullanımı

NumPy Shape ve Reshape Kullanımı

NumPy shape ve reshape kullanımı, veri bilimi çalışmalarında mutlaka bilmeniz gereken konulardan biridir. Çünkü birçok hata yanlış dizi boyutundan kaynaklanır.

Örneğin bir model 2 boyutlu veri beklerken siz tek boyutlu dizi gönderebilirsiniz. Bu durumda Python hata verir. Bu nedenle dizi boyutlarını kontrol etmeyi öğrenmelisiniz.

NumPy, matris işlemleri ve veri analizi konularını temelden öğrenmek isteyenler için Python Yazılım Kursu içeriği doğru bir başlangıç sağlar.

Bu yazıda shape ve reshape() konularını sade örneklerle inceleyeceğiz.

NumPy Shape Nedir?

Öncelikle shape kavramına bakalım. shape, bir NumPy dizisinin boyut bilgisini gösterir.

Bu yapı fonksiyon değildir. Bu yüzden shape() şeklinde yazmazsınız. Doğru kullanım shape şeklindedir.

Örnek:

import numpy as np

dizi = np.array([[1, 2, 3], [4, 5, 6]])

print(dizi.shape)

Çıktı:

(2, 3)

Bu sonuç dizinin 2 satır ve 3 sütundan oluştuğunu gösterir.

NumPy Shape ve Reshape Kullanımı

Tek Boyutlu Dizide Shape Kullanımı

Tek boyutlu bir dizide shape daha farklı görünür.

Örnek:

import numpy as np

dizi = np.array([10, 20, 30, 40])

print(dizi.shape)

Çıktı:

(4,)

Bu çıktı dizide 4 eleman bulunduğunu gösterir. Ayrıca ikinci bir değer görmezsiniz. Çünkü dizi tek boyutludur.

İki Boyutlu Dizide Shape Kullanımı

İki boyutlu dizilerde shape, satır ve sütun bilgisini verir.

Örnek:

import numpy as np

matris = np.array([
    [1, 2],
    [3, 4],
    [5, 6]
])

print(matris.shape)

Çıktı:

(3, 2)

Bu sonuç matrisin 3 satır ve 2 sütundan oluştuğunu gösterir.

NumPy Reshape Nedir?

Şimdi reshape() fonksiyonuna geçelim. reshape(), bir NumPy dizisinin boyutunu değiştirir.

Ancak burada kritik bir kural vardır. Toplam eleman sayısı aynı kalmalıdır.

Örneğin 12 elemanlı bir diziyi 3×4 yapabilirsiniz. Çünkü 3 x 4 = 12 eder. Aynı diziyi 5×3 yapamazsınız. Çünkü 5 x 3 = 15 eder.

reshape() ile Vektörü Matrise Çevirme

Aşağıdaki örnekte tek boyutlu bir diziyi matrise çeviriyoruz:

import numpy as np

dizi = np.arange(1, 13)

matris = dizi.reshape(3, 4)

print(matris)

Çıktı:

[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]

Başta elimizde 12 elemanlı tek boyutlu bir dizi vardı. Ardından reshape(3, 4) ile bu diziyi 3 satır ve 4 sütun haline getirdik.

Reshape Kullanırken En Sık Yapılan Hata

En sık hata, toplam eleman sayısını yanlış hesaplamaktır.

Örneğin şu kod hata verir:

import numpy as np

dizi = np.arange(1, 13)

matris = dizi.reshape(5, 3)

Çünkü dizide 12 eleman vardır. Ancak 5×3 yapı 15 eleman ister.

Doğru kullanım şöyle olabilir:

import numpy as np

dizi = np.arange(1, 13)

matris = dizi.reshape(6, 2)

print(matris)

Çıktı:

[[ 1  2]
 [ 3  4]
 [ 5  6]
 [ 7  8]
 [ 9 10]
 [11 12]]

Bu nedenle reshape kullanmadan önce toplam eleman sayısını kontrol edin.

Bu tarz boyut kontrolü, veri bilimi eğitimi içinde veri hazırlama ve matris işlemlerini anlamak için temel konulardan biridir.

reshape(-1) Ne İşe Yarar?

reshape(-1), NumPy’ye boyutu otomatik hesaplatır.

Örneğin sütun sayısını 2 yapmak istiyorsanız satır sayısını siz yazmak zorunda kalmazsınız.

import numpy as np

dizi = np.arange(1, 13)

matris = dizi.reshape(-1, 2)

print(matris)

Çıktı:

[[ 1  2]
 [ 3  4]
 [ 5  6]
 [ 7  8]
 [ 9 10]
 [11 12]]

Bu örnekte NumPy toplam 12 eleman olduğunu görür. Ardından sütun sayısı 2 olduğu için satır sayısını 6 olarak hesaplar.

Çok Boyutlu Diziyi Tek Boyuta İndirme

Ayrıca reshape(-1) ile çok boyutlu bir diziyi tek boyutlu hale getirebilirsiniz.

Örnek:

import numpy as np

matris = np.array([
    [1, 2, 3],
    [4, 5, 6]
])

duz_dizi = matris.reshape(-1)

print(duz_dizi)

Çıktı:

[1 2 3 4 5 6]

Bu kullanım, matrisi düz bir vektör haline getirir.

Shape ve Reshape Arasındaki Fark

Kısaca shape mevcut boyutu gösterir. reshape() ise dizinin boyutunu değiştirir.

Shape ve reshape kullanımının teknik detayları için NumPy resmi dokümantasyonu incelenebilir.

KavramGörevi
shapeMevcut boyutu gösterir
reshape()Yeni boyut oluşturur

Bu ayrımı bilmek önemlidir. Çünkü biri kontrol sağlar, diğeri dönüşüm yapar.

Sonuç olarak NumPy shape ve reshape kullanımı, dizi boyutlarını doğru yönetmenizi sağlar.

Önce shape ile mevcut boyutu kontrol edin. Ardından reshape() ile diziyi ihtiyacınıza göre düzenleyin.

Kural basit:

Toplam eleman sayısı aynı kalmalıdır.

Bu kuralı unutmazsanız NumPy ile dizi boyutlandırma konusunda hata yapma riskiniz ciddi şekilde azalır.

0 0 votes
Değerlendir
guest

0 Yorum
Oldest
Newest Most Voted
Scroll to top
telefon iletisim bilgi
 whatsapp iletisim
bilgi istek formu iletisim
Arı Bilgi İletişim Numarası
0
Düşünceleriniz bizim için önemlidir lütfen yorum yapmayı unutmayınx