• Yapay zeka soru ve sorunlarınızı uygun olan kategorilere açıp yanıt alabilirsiniz...

NumPy vstack ile diziler nasıl dikey birleştirilir?

  • Konuyu Başlatan Konuyu Başlatan Garfield
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 0
  • Etiketler Etiketler
    veri bilimi

Garfield

YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
664
Mesajlar
689
AI Seviyesi
Yeni

Temel kullanım​


NumPy'de dizileri dikey birleştirmek için np.vstack() kullanılır. Diziler, satırlar alt alta gelecek şekilde birleştirilir; iki boyutlu dizilerde sütun sayıları aynı olmalıdır. Birleştirme sonunda daha fazla satıra sahip tek bir dizi elde edilir.

Ön koşul olarak NumPy'nin içe aktarılmış olması yeterlidir:

Python:
import numpy as np

a = np.array([[1, 2],
              [3, 4]])

b = np.array([[5, 6],
              [7, 8]])

sonuc = np.vstack((a, b))

print(sonuc)

Çıktı şöyledir:

Python:
[[1 2]
 [3 4]
 [5 6]
 [7 8]]

Burada a ve b dizileri ikişer satırlı ve ikişer sütunludur. vstack(), b dizisinin satırlarını a dizisinin altına eklediği için sonuç dört satır ve iki sütundan oluşur.

Dizileri dikey birleştirme adımları​

  1. NumPy'yi içe aktarın. Kodun başına import numpy as np satırını ekleyin; böylece işlevi np.vstack() biçiminde çağırabilirsiniz.
  2. Birleştirilecek dizileri oluşturun. İki boyutlu dizilerde her dizinin sütun sayısını aynı tutun. Örneğin iki sütunlu bir dizi yalnızca başka bir iki sütunlu diziyle doğrudan dikey birleştirilebilir.
  3. Dizileri vstack() içine verin. np.vstack((ilk_dizi, ikinci_dizi)) ifadesini kullanın. Birden fazla dizi varsa bunları aynı demet içinde sırayla yazabilirsiniz.
  4. Sonucun şeklini kontrol edin. sonuc.shape değerini yazdırarak satır ve sütun sayısını doğrulayın. Satır sayısı dizilerin satırlarının toplamı, sütun sayısı ise ortak sütun sayısı olmalıdır.
Örneğin üç diziyi tek seferde birleştirebilirsiniz:

Python:
import numpy as np

ust = np.array([[1, 2]])
orta = np.array([[3, 4]])
alt = np.array([[5, 6]])

sonuc = np.vstack((ust, orta, alt))

print(sonuc)
print(sonuc.shape)

Beklenen çıktı:

Python:
[[1 2]
 [3 4]
 [5 6]]
(3, 2)

Bu sonuç, üç satır ve iki sütun bulunduğunu gösterir. vstack() verileri sıralamaz veya toplamaz; verilen dizileri ilk eksen boyunca birleştirir. Çıktı tek bir ortak dtype kullanır; farklı türler bir araya geldiğinde dönüşüm oluşabilir. Örneğin büyük int64 değerlerinin float64 ile birleştirilmesi tam sayı duyarlılığını kaybettirebilir. Değerleri aynen korumak gerekiyorsa giriş türlerini ve sonuç dtype değerini ayrıca kontrol edin.

Tek boyutlu dizilerde kullanım​


Tek boyutlu diziler (n,) biçimindedir. vstack() bunları üst üste eklerken her diziyi bir satır gibi değerlendirir:

Python:
import numpy as np

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

sonuc = np.vstack((x, y))

print(sonuc)
print(sonuc.shape)

Çıktı:

Python:
[[1 2 3]
 [4 5 6]]
(2, 3)

Yani iki tek boyutlu dizi, iki satırlı ve üç sütunlu iki boyutlu bir diziye dönüşür. Tek boyutlu dizileri tek bir sütun hâlinde birleştirmek istiyorsanız önce onları sütun biçimine dönüştürün:

Python:
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])

sonuc = np.vstack((x[:, np.newaxis], y[:, np.newaxis]))

print(sonuc)
print(sonuc.shape)

Bu kez sonuç şöyledir:

Python:
[[1]
 [2]
 [3]
 [4]
 [5]
 [6]]
(6, 1)

vstack, hstack ve concatenate farkı​


Benzer işlevler farklı eksenlerde birleştirme yaptığı için doğru seçimi dizilerin nasıl yerleşmesini istediğinize göre yapın.
İşlevBirleştirme yönüÖrnek sonuç
np.vstack()Satırlar alt alta eklenirSatır sayısı artar
np.hstack()İki boyutta sütunlar yan yana; tek boyutta elemanlar ardışık eklenirİki boyutta sütun sayısı, tek boyutta uzunluk artar
np.concatenate(axis=0)Satır ekseninde birleştirirİki boyutlu dizilerde vstack() ile aynı yöndür
np.concatenate(axis=1)Sütun ekseninde birleştirirİki boyutlu dizilerde yan yana birleştirme yapar
Örneğin iki boyutlu dizileri yan yana eklemek istiyorsanız vstack() yerine hstack() kullanabilirsiniz. vstack() ile birleştirme sırasında temel kontrol, dizilerin sütun sayılarının uyuşmasıdır.

Boyut uyuşmazlığı hatası​


Aşağıdaki diziler dikey birleştirilemez:

Python:
a = np.array([[1, 2]])
b = np.array([[3, 4, 5]])

np.vstack((a, b))

Çünkü a iki, b ise üç sütunludur. Dikey birleştirmede satırlar alt alta eklense de sütun yapısının devam edebilmesi gerekir. Bu nedenle önce şekilleri kontrol edin:

Python:
print(a.shape)
print(b.shape)

Şekiller uyuşmuyorsa eksik sütunları tamamlamak, gereksiz sütunları kaldırmak veya amacınıza uygunsa hstack() ya da farklı bir yeniden şekillendirme yöntemi kullanmak gerekir. Sadece hatayı gidermek için veriyi rastgele yeniden şekillendirmeyin; bu, değerlerin satır ve sütun anlamını değiştirebilir.

Sonucu doğrulama​


Birleştirmeden sonra şu üç kontrol yeterlidir:
  • Satır sayısını kontrol edin. Sonuçtaki satır sayısı, birleştirilen dizilerin satır sayılarının toplamı olmalıdır.
  • Sütun sayısını kontrol edin. İki boyutlu dizilerde sonuçtaki sütun sayısı, giriş dizilerindeki ortak sütun sayısıyla aynı olmalıdır.
  • Değer sırasını kontrol edin. Sonuçta önce ilk verilen dizi, ardından sonraki diziler görünmelidir; vstack() değerleri otomatik olarak sıralamaz.
Özetle, dizileri alt alta eklemek için np.vstack((dizi1, dizi2)) kullanın. İki boyutlu dizilerde sütun sayılarının aynı olduğunu ve tek boyutlu dizilerin satır mı, sütun mu olarak yorumlanması gerektiğini kontrol edin.
 
Son düzenleme:

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Geri
Üst