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.