logo

Python'da numpy.average()

Python'un numpy modülü, belirtilen eksen boyunca ağırlıklı ortalamayı hesaplamak için kullanılan numpy.average() adı verilen bir işlev sağlar.

Java'da dizeyi int'ye dönüştürün

Sözdizimi:

 numpy.average(a, axis=None, weights=None, returned=False) 

Parametreler:

x: dizi_benzeri

Bu parametre, elemanının ortalamasını hesaplamak istediğimiz kaynak diziyi tanımlar. 'x' bir dizi ise dönüştürme denenecektir.

eksen: int veya Hiçbiri veya ints tuple'ı (isteğe bağlı)

Bu parametre ortalamanın hesaplanacağı ekseni tanımlar. Varsayılan olarak eksen, kaynak dizinin tüm öğelerinin ortalamasını hesaplayacak olan Hiçbiri'ne ayarlıdır. Eksenin değeri negatif olduğunda sayımlar sondan başlangıç ​​eksenine doğru başlar.

ağırlıklar: array_like(isteğe bağlı)

Bu parametre, dizi değerleriyle ilişkili ağırlıkları içeren bir diziyi tanımlar. Dizi elemanlarının her değeri birlikte, ilişkili ağırlığına göre ortalamayı oluşturur. Ağırlıklı dizi tek boyutlu olabilir veya giriş dizisiyle aynı şekilde olabilir. Dizi elemanıyla ilişkilendirilmiş bir ağırlık olmadığında ağırlık, tüm elemanlar için 1 olarak değerlendirilecektir.

döndürülen: bool(isteğe bağlı)

Varsayılan olarak bu parametre Yanlış olarak ayarlanmıştır. Eğer bunu True olarak ayarlarsak, ortalama ve toplam_ağırlıklardan oluşan bir demet döndürülür. Yanlış ise ortalama döndürülür. Ağırlıklar için herhangi bir değer yoksa, ağırlıklı toplam, öğe sayısına eşdeğerdir.

İadeler:

retval, [ağırlıkların toplamı]: dizi_türü veya çift

Bu işlev, döndürülen parametreye bağlı olarak ortalamayı veya hem ortalamayı hem de toplam_ağırlıkların değerini döndürür.

Yükseltir:

SıfırBölme Hatası

Bu hata, eksen boyunca tüm ağırlıklar sıfıra ayarlandığında ortaya çıkar.

bir dizeyi tam sayıya dönüştürün

TipHatası

Bu hata, ağırlıklı dizinin uzunluğu giriş dizisinin şekliyle aynı olmadığında ortaya çıkar.

Örnek 1:

 import numpy as np data = list(range(1,6)) output=np.average(data) data output 

Çıktı:

veritabanı java'yı bağlayın
 [1, 2, 3, 4, 5] 3.0 

Yukarıdaki kodda:

  • Numpy'yi np takma adıyla içe aktardık.
  • Bir element listesi oluşturduk 'veri' .
  • Değişkeni bildirdik 'çıktı' ve döndürülen değeri atadı ortalama() işlev.
  • Listeyi geçtik 'veri' fonksiyonda.
  • Son olarak yazdırmaya çalıştık. 'veri' Ve 'çıktı'

Çıktıda liste öğelerinin ortalamasını gösterir.

Örnek 2:

 import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output 

Çıktı:

 5.666666666666667 

Örnek 3:

 import numpy as np data=np.arange(12).reshape((4,3)) output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4]) data output 

Çıktı:

 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444]) 

Yukarıdaki kodda:

  • Numpy'yi np takma adıyla içe aktardık.
  • Bir dizi oluşturduk 'veri' kullanarak turuncu() Ve np.reshape() işlev.
  • Değişkeni bildirdik 'çıktı' ve döndürülen değeri atadı ortalama() işlev.
  • Diziyi geçtik 'veri' , ekseni 1'e ayarlayın ve işlevdeki ağırlıklı diziyi seçin.
  • Son olarak yazdırmaya çalıştık. 'veri' Ve 'çıktı'

Çıktıda dizideki her sütun öğesinin ortalamasını gösterir.

Örnek 4:

 import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4]) 

Çıktı:

 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Traceback (most recent call last): File '', line 1, in File 'C:Python27libsite-packages
umpylibfunction_base.py', line 406, in average 'Axis must be specified when shapes of data and weights.' TypeError: Axis must be specified when shapes of data and weights differ. 

Not: Çıktı bir tür hatası gösteriyor: 'Verilerin ve ağırlıkların şekilleri farklı olduğunda eksen belirtilmelidir' çünkü 'ağırlıklar' dizisinin şekli, 'veri' giriş dizisiyle aynı değildir.