logo

numpy.histogram() в Python

Модулът numpy на Python предоставя функция, наречена numpy.histogram() . Тази функция представлява честотата на броя стойности, които се сравняват с набор от диапазони на стойности. Тази функция е подобна на хист() функция на matplotlib.pyplot .

С прости думи, тази функция се използва за изчисляване на хистограмата на набора от данни.

Синтаксис:

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

Параметри:

x: array_like

машинопис foreach

Този параметър дефинира сплескан масив, върху който се изчислява хистограмата.

контейнери: int или последователност от str или скалари (по избор)

Ако този параметър е дефиниран като цяло число, тогава в дадения диапазон той определя броя на контейнерите с еднаква ширина. В противен случай се дефинира масив от ръбове на контейнери, които се увеличават монотонно. Той също така включва най-десния ръб, който позволява неравномерна ширина на контейнера. Най-новата версия на numpy ни позволява да задаваме параметри на кошчето като низ, който дефинира метод за изчисляване на оптималната ширина на контейнера.

диапазон : (плаващо, плаващо) (по избор)

Този параметър определя долния-горния обхват на контейнерите. По подразбиране диапазонът е (x.min(), x.max()) . Игнорират се стойностите, които са извън диапазона. Диапазоните на първия елемент трябва да са равни или по-малки от втория елемент.

нормиран: bool (по избор)

Този параметър е същият като аргумента за плътност, но може да даде грешен резултат за неравномерни ширини на контейнера.

тегла: array_like (по избор)

Този параметър дефинира масив, който съдържа тегла и има същата форма като 'х' .

грешка по време на изпълнение

плътност: bool (по избор)

Ако е зададено на True, ще доведе до броя на пробите във всеки контейнер. Ако стойността му е False, функцията за плътност ще доведе до стойността на функцията за плътност на вероятността в контейнера.

Се завръща:

хист: масив

Функцията за плътност връща стойностите на хистограмата.

edge_bin: масив от float dtype

Тази функция връща ръбовете на контейнера (дължина(hist+1)) .

Пример 1:

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

Изход:

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

В горния код

  • Импортирахме numpy с псевдоним np.
  • Декларирахме променливата 'a' и присвоихме върнатата стойност на np.histogram() функция.
  • Предадохме масив и стойността на контейнера във функцията.
  • Накрая се опитахме да отпечатаме стойността на 'а' .

В изхода той показва ndarray, който съдържа стойностите на хистограмата.

Пример 2:

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

Изход:

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

Пример 3:

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

Изход:

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

Пример 4:

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

Изход:

 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. ]) 

Пример 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)) 

Изход:

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

В горния код

  • Импортирахме numpy с псевдоним np.
  • Създадохме масив 'а' използвайки np.arange() функция.
  • Имаме декларирани променливи 'хист' и 'bin_edges' и след това присвои върнатата стойност на np.histogram() функция.
  • Минахме масива 'а' и задайте 'плътност' на True във функцията.
  • Опитахме се да отпечатаме стойността на 'хист' .
  • И накрая, опитахме се да изчислим сумата от стойностите на хистограмата, използвайки hist.sum() и np.sum() в който предадохме стойности на хистограма и ръбове на кошчето.

В изхода той показва ndarray, който съдържа стойностите на хистограмата и сумата от стойностите на хистограмата.