logo

Python'da numpy.histogram()

Python'un numpy modülü, adı verilen bir işlev sağlar. numpy.histogram() . Bu işlev, bir dizi değer aralığıyla karşılaştırılan değer sayısının sıklığını temsil eder. Bu işlev şuna benzer: geçmiş() fonksiyonu matplotlib.pyplot .

Basit bir ifadeyle bu işlev, veri kümesinin histogramını hesaplamak için kullanılır.

Sözdizimi:

 numpy.histogram(x, bins=10, range=None, normed=None, weights=None, density=None) 

Parametreler:

x: dizi_benzeri

Bu parametre, üzerinde histogramın hesaplandığı düzleştirilmiş bir diziyi tanımlar.

bins: int veya str veya skaler dizisi (isteğe bağlı)

Bu parametre bir tamsayı olarak tanımlanırsa, verilen aralıkta eşit genişlikteki bölmelerin sayısını tanımlar. Aksi takdirde, monoton olarak artan bir bin kenarları dizisi tanımlanır. Aynı zamanda, tekdüze olmayan bölme genişliklerine izin veren en sağ kenarı da içerir. Numpy'nin en son sürümü, bin parametrelerini bir dize olarak ayarlamamıza olanak tanır; bu, optimum bin genişliğini hesaplamak için bir yöntem tanımlar.

java indeksi

aralık : (kayan nokta, kayan nokta)(isteğe bağlı)

Bu parametre binlerin alt-üst aralıklarını tanımlar. Varsayılan olarak aralık şöyledir: (x.min(), x.max()) . Aralığın dışındaki değerler dikkate alınmaz. Birinci elemanın aralıkları ikinci elemana eşit veya ondan küçük olmalıdır.

normlu: bool(isteğe bağlı)

Bu parametre yoğunluk argümanıyla aynıdır ancak eşit olmayan bölme genişlikleri için yanlış çıktı verebilir.

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

Bu parametre ağırlıkları içeren ve aynı şekle sahip bir diziyi tanımlar. 'X' .

Rajesh Khanna

yoğunluk: bool(isteğe bağlı)

True olarak ayarlanırsa her bölmedeki örnek sayısıyla sonuçlanır. Değeri Yanlış ise yoğunluk fonksiyonu, bölmedeki olasılık yoğunluk fonksiyonunun değeriyle sonuçlanacaktır.

İadeler:

geçmiş: dizi

Yoğunluk fonksiyonu histogramın değerlerini döndürür.

edge_bin: kayan nokta tipinin bir dizisi

Bu işlev bölme kenarlarını döndürür (uzunluk(geçmiş+1)) .

Örnek 1:

 import numpy as np a=np.histogram([1, 5, 2], bins=[0, 1, 2, 3]) a 

Çıktı:

 (array([0, 1, 1], dtype=int64), array([0, 1, 2, 3])) 

Yukarıdaki kodda

2. çeyrek ne zaman başlıyor
  • Numpy'yi np takma adıyla içe aktardık.
  • 'a' değişkenini bildirdik ve döndürülen değerini atadık np.histogram() işlev.
  • Fonksiyona bir dizi ve bin değerini aktardık.
  • Son olarak değerini yazdırmaya çalıştık. 'A' .

Çıktıda histogramın değerlerini içeren bir ndarray gösterir.

Örnek 2:

 import numpy as np x=np.histogram(np.arange(6), bins=np.arange(7), density=True) x 

Çıktı:

 (array([0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667, 0.16666667]), array([0, 1, 2, 3, 4, 5, 6])) 

Örnek 3:

 import numpy as np x=np.histogram([[1, 3, 1], [1, 3, 1]], bins=[0,1,2,3]) x 

Çıktı:

 (array([0, 4, 2], dtype=int64), array([0, 1, 2, 3])) 

Örnek 4:

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist bin_edges 

Çıktı:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) array([0. , 0.7, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3, 7. ]) 

Örnek 5:

 import numpy as np a = np.arange(8) hist, bin_edges = np.histogram(a, density=True) hist hist.sum() np.sum(hist * np.diff(bin_edges)) 

Çıktı:

 array([0.17857143, 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0. , 0.17857143, 0.17857143, 0.17857143]) 1.4285714285714288 1.0 

Yukarıdaki kodda

  • Numpy'yi np takma adıyla içe aktardık.
  • Bir dizi oluşturduk 'A' kullanarak np.arange() işlev.
  • Değişkenleri bildirdik 'geçmiş' Ve 'bin_edges' ve sonra döndürülen değeri atadık np.histogram() işlev.
  • Diziyi geçtik 'A' ve ayarla 'yoğunluk' İşlevde True'ya.
  • değerini yazdırmaya çalıştık. 'geçmiş' .
  • Son olarak histogram değerlerinin toplamını kullanarak hesaplamaya çalıştık. hist.sum() Ve np.sum() burada histogram değerlerini ve kutunun kenarlarını aktardık.

Çıktıda histogramın değerlerini ve histogram değerlerinin toplamını içeren bir ndarray gösterir.