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

NumPy mean ile ortalama hangi eksende hesaplanı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
    mean numpy

Garfield

Yönetici
YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
488
Mesajlar
501
AI Seviyesi
Yeni
Kısa yanıt: np.mean() varsayılan olarak axis=None ile dizideki tüm elemanların ortalamasını tek bir sayı olarak hesaplar. İki boyutlu bir dizide axis=0 her sütunun, axis=1 her satırın ortalamasını verir. Sonuç biçimini doğru yorumlamak için eksenin hangi boyutu birleştirdiğini kontrol etmelisiniz.

Varsayılan davranış: tüm dizinin ortalaması​


axis belirtilmezse NumPy tüm elemanları aynı hesaplamaya dahil eder. Örneğin 2×3 boyutundaki şu dizide altı değer vardır:

Python:
import numpy as np

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

print(np.mean(veri))

Çıktı 3.5 olur; çünkü hesaplama (1 + 2 + 3 + 4 + 5 + 6) / 6 şeklindedir. Yani varsayılan davranışta satır veya sütun başına ayrı sonuç üretilmez.

axis=0 ve axis=1 arasındaki fark​


İki boyutlu bir dizide axis=0 ilk eksen boyunca birleştirme yapar. Bu nedenle satırlar birleştirilir ve her sütun için bir ortalama kalır. axis=1 ise ikinci eksen boyunca birleştirir; bu nedenle sütunlar birleştirilir ve her satır için bir ortalama kalır.

Aynı veri için sonuçlar şöyledir:
KullanımHesaplama yönüSonuç
np.mean(veri)Tüm elemanlar3.5
np.mean(veri, axis=0)Satırlar birleştirilir, sütun ortalamaları alınır[2.5, 3.5, 4.5]
np.mean(veri, axis=1)Sütunlar birleştirilir, satır ortalamaları alınır[2., 5.]
Bunu çalışan kodla görmek için:

Python:
print(np.mean(veri, axis=0))
# [2.5 3.5 4.5]

print(np.mean(veri, axis=1))
# [2. 5.]

axis=0 sonucu, her sütundaki değerlerin ortalamasını verir: (1+4)/2, (2+5)/2 ve (3+6)/2. axis=1 sonucu ise her satırın ortalamasını verir: (1+2+3)/3 ve (4+5+6)/3.

Önemli ayrım: “0. eksen” ifadesi “ilk sütun” anlamına gelmez. axis=0, ilk eksen boyunca hesaplama yapar ve iki boyutlu dizide satırları ortadan kaldırdığı için sütun başına sonuç üretir.

Üç boyutlu dizilerde ekseni yorumlama​


Bir dizinin boyutlarını shape ile kontrol edebilirsiniz:

Python:
veri = np.arange(24).reshape(2, 3, 4)
print(veri.shape)
# (2, 3, 4)

print(np.mean(veri, axis=0).shape)
# (3, 4)

print(np.mean(veri, axis=1).shape)
# (2, 4)

print(np.mean(veri, axis=2).shape)
# (2, 3)

(2, 3, 4) biçimindeki dizide axis=0 ilk boyutu, axis=1 ikinci boyutu, axis=2 üçüncü boyutu birleştirir. Hesaplanan eksen sonuçtan çıkarılır; bu nedenle sonuç şekli sırasıyla (3, 4), (2, 4) ve (2, 3) olur.

Sonuç boyutunu korumak: keepdims​


Daha sonra özgün diziyle yayınlama işlemi yapacaksanız keepdims=True kullanmak yararlı olabilir. Bu seçenek, ortalaması alınan ekseni kaldırmak yerine uzunluğunu 1 olarak korur.

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

satir_ortalamalari = np.mean(veri, axis=1, keepdims=True)

print(satir_ortalamalari)
# [[2.]
#  [5.]]

print(satir_ortalamalari.shape)
# (2, 1)

Burada her satır için bir ortalama hesaplanır; ancak sonuç (2,) yerine (2, 1) biçiminde kalır. Bu, her satırın ortalamasını o satırdaki değerlere uygulamak gibi işlemlerde boyut uyumsuzluğu riskini azaltır.

Doğru ekseni seçmek için kısa kontrol​


Önce veri.shape ile boyut sırasını yazdırın. Ardından ortalamasını almak istediğiniz boyutu belirleyin. Satırları birleştirip sütun başına sonuç istiyorsanız axis=0; sütunları birleştirip satır başına sonuç istiyorsanız axis=1 kullanın. Tüm değerlerin tek ortalamasını istiyorsanız eksen vermeyin veya açıkça axis=None yazın.

Python:
print(veri.shape)
print(np.mean(veri, axis=None))

Sonucun beklenenden farklı sayıda elemana sahip olması genellikle yanlış eksenin seçildiğini gösterir. Sonuç şekli, ortalama alınan eksenin kaldırılmasıyla oluşur; bu nedenle hesaplamadan önce ve sonra .shape değerini karşılaştırmak, eksen seçimini doğrulamanın en hızlı yoludur.
 
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.
Robotlar:
  • Anthropic
Geri
Üst