Метод numpy.histogram() в Python вычисляет «гистограмму массива». Гистограмма — это графическое представление распределения данных. Это столбчатая диаграмма, где ось x представляет ячейки данных(интервалы), а ось y представляет количество точек данных в каждой ячейке.
Синтаксис
|
1 |
Аргументы
Функция np.histogram() принимает один обязательный аргумент в качестве параметра и имеет пять необязательных аргументов:
- arr: в этом аргументе передается массив. Массив является обязательным аргументом для возврата гистограммы.
- bins: это количество бинов. Десять хранятся в качестве бинов по умолчанию. Значение этого аргумента может быть последовательностью чисел, int или str. Если это int, то ширина бинов создается одинаково. Если это список, то значения ячеек меняются.
- range: это диапазон, в котором значения будут рассматриваться. Если значение превышает диапазон, то это значение не будет учитываться. Диапазон состоит из двух значений, начального и конечного, заключен в кортеж. Этот кортеж состоит из( start, end ) начального и конечного значений в диапазоне.
- normed: похож на аргумент density.
- weight: этот аргумент передается с массивом, состоящим из весов. Форма этого массива должна быть равна форме массива a. Аргумент weight нормализуется, если для параметра density задано значение True.
- density: если это True, то значение функции плотности вероятно. Если False, массив будет иметь количество выборок в каждой ячейке.
Возвращаемое значение numpy.histogram()
Метод возвращает два значения. Одно представляет собой массив значений гистограммы, а другое состоит из границ бинов.
Пример 1
|
1 2 3 4 5 6 7 8 9 10 11 |
# Importing numpy as np import numpy as np # Creating a numpy array called arr arr = np.array([5, 3, 7, 8, 1, 9, 2]) print("The array is : ", arr) # Printing the shape of the array using shape function print(" Shape of the array is : ", arr.shape) res = np.histogram(arr) print("The Histogram array is: ", res) |
Выход
|
1 2 3 4 |
The array is : [5 3 7 8 1 9 2] Shape of the array is :(7,) The Histogram array is:(array([1, 1, 1, 0, 0, 1, 0, 1, 1, 1]), array([1. , 1.8, 2.6, 3.4, 4.2, 5. , 5.8, 6.6, 7.4, 8.2, 9. ])) |
В этой программе мы импортировали numpy для создания массива numpy. Затем мы напечатали массив и форму массива, используя np.shape.
На следующем шаге мы передали этот массив в функцию np.histogram(). Функция np.histogram() возвращает два значения: массив значений гистограммы и значения границ интервалов.
Пример 2
|
1 2 3 4 5 6 7 8 9 10 11 |
# Importing numpy as np import numpy as np # Creating a numpy array called arr arr = np.random.randint(70, size=(40)) print("The array is : ", arr) # Printing the shape of the array using shape function print(" Shape of the array is : ", arr.shape) res = np.histogram(arr, bins=[0, 10, 20, 30, 40, 50], range=(0, 50)) print("The Histogram array is: ", res) |
Выход
|
1 2 3 4 5 6 |
The array is : [41 19 64 35 10 60 56 56 6 28 37 61 8 4 39 45 29 3 5 19 24 28 57 10 30 46 51 30 16 40 57 64 54 68 37 30 2 41 41 12] Shape of the array is :(40,) The Histogram array is:(array([6, 6, 4, 7, 6]), array([ 0, 10, 20, 30, 40, 50])) |
В этой программе мы передали значения бинов и диапазона. Функция range() удаляет значения больше и меньше указанного диапазона. Учитываются только те значения, которые находятся в указанном диапазоне.
