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

NumPy dizisinin transpozu nasıl alınır?

  • 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
NumPy dizisinin transpozunu almak için iki boyutlu dizilerde en kısa yöntem dizi.T ifadesidir. Aynı işlemi numpy.transpose(dizi) ile de yapabilirsiniz. Satırlar sütunlara, sütunlar satırlara dönüşür; örneğin 2×3 boyutundaki bir dizi 3×2 boyutuna geçer. Ancak tek boyutlu dizilerde .T görünür bir değişiklik oluşturmaz; böyle bir diziyi sütun vektörüne dönüştürmek için önce yeniden şekillendirmek gerekir.

İki boyutlu dizinin transpozunu alma​


Aşağıdaki örnek varsayımsaldır. Girdi dizisinde ilk satır 1, 2, 3, ikinci satır ise 4, 5, 6 değerlerini içerir. Transpozdan sonra satırlar sırasıyla [1, 4], [2, 5] ve [3, 6] olur. İki sütun ise [1, 2, 3] ve [4, 5, 6] değerlerini içerir.

Python:
import numpy as np

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

transpoz = dizi.T

print(transpoz)
print(transpoz.shape)

Beklenen çıktı şöyledir:

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

Buradaki (3, 2) sonucu, transpoze edilmiş dizinin 3 satır ve 2 sütundan oluştuğunu gösterir. Orijinal dizinin şekli (2, 3) olduğundan satır ve sütun sayıları yer değiştirmiştir.

Uygulanacak yöntem​


NumPy'nin kurulu olduğu bir Python ortamında işlemi şu sırayla yapın:
  1. NumPy'yi içe aktarın. Kodun başına import numpy as np satırını ekleyin; böylece np.array() ve np.transpose() işlevlerini kullanabilirsiniz.
  2. Diziyi oluşturun veya mevcut diziyi seçin. Transpozun satırları ve sütunları değiştirmesi için dizinin en az iki boyutlu olması gerekir.
  3. Transpozu alın. Kısa kullanım için transpoz = dizi.T yazın. Alternatif olarak transpoz = np.transpose(dizi) ifadesini kullanabilirsiniz.
  4. Boyutu kontrol edin. print(transpoz.shape) komutunu çalıştırın. İki boyutlu bir dizide sonuç, orijinal şeklin ters çevrilmiş hâli olmalıdır; örneğin (2, 3) değeri (3, 2) olur.

.T ile np.transpose() arasındaki fark​


İki yöntem de temel kullanımda aynı transpoz işlemini yapar. .T daha kısa ve okunaklıdır; np.transpose() ise eksen sırasını açıkça belirtmeniz gereken çok boyutlu dizilerde daha esnek bir seçenektir.
YöntemÖrnekUygun kullanım
.Tdizi.Tİki boyutlu dizilerde hızlı ve okunaklı transpoz
np.transpose()np.transpose(dizi)Standart transpoz veya eksen sırasını ayrıca belirtme
reshape()dizi.reshape(-1, 1)Tek boyutlu diziyi sütun vektörüne dönüştürme
İki boyutlu dizide .T ve np.transpose(dizi) aynı sonucu verir. Tablodaki reshape() ise genel bir transpoz işlemi değildir; elemanları hedef şekle yerleştirir ve burada tek boyutlu diziyi sütun biçimine getirmek için gösterilmiştir. Çok boyutlu dizilerde eksenleri özel bir sıraya koymanız gerekiyorsa np.transpose(dizi, axes=(...)) biçiminde eksen sırasını belirtmeniz gerekir.

Tek boyutlu dizilerde dikkat edilmesi gereken durum​


Şu dizi tek boyutludur:

Python:
dizi = np.array([1, 2, 3])
print(dizi.shape)     # (3,)
print(dizi.T.shape)   # (3,)

(3,) ifadesi, dizinin üç elemanlı tek bir eksene sahip olduğunu gösterir. Bu nedenle .T onu otomatik olarak (3, 1) boyutunda sütun vektörüne dönüştürmez.

Sütun vektörü istiyorsanız diziyi açıkça yeniden şekillendirin:

Python:
import numpy as np

dizi = np.array([1, 2, 3])
sutun_vektoru = dizi.reshape(-1, 1)

print(sutun_vektoru)
print(sutun_vektoru.shape)

Beklenen boyut (3, 1) olur ve çıktı şu yapıya dönüşür:

Kod:
 [[1]
  [2]
  [3]]

Sonuç olarak, elinizde satır ve sütunları olan bir NumPy dizisi varsa dizi.T kullanın. Diziniz (n,) biçiminde tek boyutluysa önce hedefinizin sütun vektörü mü yoksa satır vektörü mü olduğunu belirleyin; ardından reshape(-1, 1) veya reshape(1, -1) ile boyutu açıkça oluşturun.
 
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