Рубрики
Без рубрики

Функция Numpy histogram() С Построением графика и Примерами

Эта статья представляет собой универсальное решение для всех ваших проблем, связанных с функцией numpy histogram() в Python с живой демонстрацией и построением графиков.

Автор оригинала: Team Python Pool.

В этой статье мы узнаем о функции numpy histogram() в python, предоставляемой библиотекой Numpy. Гистограммы – это просто графические представления частотного распределения данных. На самом деле функция Numpy histogram() представляет собой прямоугольники одинакового горизонтального размера, соответствующие интервалам классов, называемым бинами. Точно так же переменная высота соответствует частоте. Имея это в виду, давайте непосредственно начнем с нашего обсуждения функции np.histogram() в Python.

Numpy histogram-это специальная функция, которая вычисляет гистограммы для наборов данных. Эта гистограмма основана на ячейках, диапазоне ячеек и других факторах. Кроме того, numpy предоставляет все возможности для настройки бункеров и диапазонов бункеров. В этом посте мы подробно рассмотрим функцию гистограммы.

Синтаксис функции numpy histogram():

numpy.histogram(data,,,,,)

Параметры

данные входной массив
бункеры количество ячеек одинаковой ширины , по умолчанию 10
диапазон устанавливает нижний и верхний диапазон бункеров – необязательный параметр
нормированный дает неверный результат для неравной ширины бункера – необязательный параметр
веса определяет массив весов, имеющих те же размеры, что и данные – необязательный параметр
плотность если Ложный результат содержит количество выборок в каждом бине, если Истинный результат содержит плотность вероятности в бине – необязательный параметр

При написании функции numpy histogram() в программах python можно избежать необязательных параметров. Функция histogram() принимает в качестве двух параметров только входной массив и ячейки. Более того, последовательные элементы в массиве бин служат границей каждого бина.

Пример функции numpy histogram() в python:

import numpy as np 
   .array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) 
np.histogram(x,bins = [0,20,40,60,80,100]) .histogram(x,bins = [0,20,40,60,80,100]) 
print hist 
print bins

Выход:

[3 4 5 2 1]
[0 20 40 60 80 100]

В приведенном выше примере функция np.histogram() приняла входной массив и ячейку в качестве своих параметров. В результате он вернул числовое частотное распределение значений данных во входном массиве, приняв значения ячеек за интервалы классов.

Функция Histogram() v/s Hist() в Python

Функция histogram() предоставляется библиотекой Numpy, в то время как библиотека matplotlib предоставляет функцию hist(). Функция гистограммы Numpy аналогична функции hist() библиотеки matplotlib с точки зрения их использования. В то же время оба они используются для получения частотного распределения данных на основе интервалов классов. Единственное отличие заключается в том, что гистограмма np дает численное представление данных во время графического представления hist ().

Пример функции hist() библиотеки matplotlib

from matplotlib import pyplot as plt 
import numpy as np  
   .array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27]) 
plt.hist(a, bins = [0,20,40,60,80,100]) 
plt.title("histogram") 
plt.show()

Выход:

функция гистограммы np
функция гистограммы np

2D-функция Numpy Histogram()

Функция Numpy histogram2d() вычисляет двумерную гистограмму двух выборочных наборов данных. Синтаксис numpy histogram2d() задается следующим образом:

numpy.histogram2d(x, y,,,,,). Где x и y-массивы, содержащие координаты x и y для гистограммы соответственно. Bin-это массив, содержащий интервалы классов для координат x и y, которые по умолчанию равны 10. Это может быть int или array_like, или [int, int], или [array, array]. Спецификация бина: Если int, то количество бинов равно), array_like, ребра бина для двух измерений). Кроме того, [int, int] как число ячеек в каждом измерении (nx,). И [array, array], ребра бина равны (x_edges,). Кроме того, все остальные параметры, упомянутые в синтаксисе, являются необязательными. И обычно опущены при реализации функции histogram() в программах python.

Однако он имеет точно такое же использование и функцию, как и упомянутая выше для функции np.histogram (). Функция Numpy histogram2d () возвращает:– H – ndarray of shape(nx, ny). Значения в x гистограммируются вдоль первого измерения, а значения в y гистограммируются вдоль второго измерения. xedges – ndarray, shape(nx+1,). Края бункера вдоль первого измерения. edges – ndarray, shape(ny+1,). Края бункера вдоль второго измерения.

Пример функции Numpy histogram2d():

from matplotlib.image import NonUniformImage
import matplotlib.pyplot as plt

#defining bin edges 
xedges = [0, 1, 3, 5]
yedges = [0, 2, 3, 4, 6]

#create a histogram H with random bin content:.random.normal(2, 1, 100).random.normal(1, 1, 100)
H, xedges,.histogram2d(x, y, bins=(xedges, yedges)).T

Numpy Histogram() в Python для выравнивания

Более яркие изображения имеют все пиксели, ограниченные высокими значениями. Но хорошие изображения будут иметь пиксели из всех областей изображения. Чтобы получить хорошее изображение более яркой картины. Кроме того, необходимо растянуть гистограмму изображения в любой конец. Это то, что означает выравнивание гистограммы в простых терминах. См. раздел href=”https://en.wikipedia.org/wiki/Image#:~:text=An%20image%20(from%20Latin%3A%20imago,amplitude%20of%20color(s).”>image ниже для лучшего понимания. href=”https://en.wikipedia.org/wiki/Image#:~:text=An%20image%20(from%20Latin%3A%20imago,amplitude%20of%20color(s).”>image ниже для лучшего понимания.

выравнивание гистограммы numpy
выравнивание гистограммы numpy

Генерация 3D гистограммы с помощью numpy histogram()

xAmplitudes = #your data here
yAmplitudes = #your other data here
.array(xAmplitudes)   #turn x,y data into numpy arrays.array(yAmplitudes)
.figure()          #create a canvas, tell matplotlib it's 3d.add_subplot(111,)

#make histogram stuff - set bins - I choose 20x20 because I have a lot of data
hist, xedges,.histogram2d(x, y, bins=(20,20))
xpos,.meshgrid(xedges[:-1]+xedges[1:], yedges[:-1]+yedges[1:])
.flatten()/2..flatten()/2..zeros_like (xpos)
 [1] - xedges [0] [1] - yedges [0].flatten()
.get_cmap('jet') # Get desired colormap - you can change this!.max(dz)   # get range of colorbars so we can normalize.min(dz)
# scale each z to [0,1], and get their rgb values
rgba = [cmap((k-min_height)/max_height) for k in dz] 

ax.bar3d(xpos, ypos, zpos, dx, dy, dz,,)
plt.title("X vs. Y Amplitudes for ____ Data")
plt.xlabel("My X data source")
plt.ylabel("My Y data source")
plt.savefig("Your_title_goes_here")
plt.show()
3D гистограмма с использованием numpy гистограммы()
3D гистограмма с использованием numpy гистограммы()

Приведенный выше фрагмент кода помогает сгенерировать 3D-гистограмму с помощью функции Np histogram (). Предоставляя входные данные по вашему выбору для координат x и y, вы можете сгенерировать 3D-гистограмму для вашего набора данных.

Вывод

По большей части эта статья охватывает все детали функции np histogram (), а ее реализация в программах python затрагивает множество практических проблем и дает их решения. Кроме того, выравнивание гистограмм и создание 2d-и 3d-гистограмм-это лишь некоторые из них. Однако для получения графических гистограмм. Функция hist() библиотеки matplotlib должна использоваться вместе с функцией histogram() модуля Numpy. Вы также можете изучить несколько учебных пособий numpy на наших веб-сайтах, пожалуйста, посетите его.

Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Счастливого Пифонирования!