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

Функция Numpy Digitize() С Примерами в Python

Эта статья дает вам краткое представление о том, что такое функция numpy digitize() в python и ее реализация для размещения переменных в бункерах.

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

Функция Numpy Digitize() С Примерами в Python

Здравствуйте, программисты, в сегодняшней статье мы обсудим функцию numpy digitize() в python, доступную вместе с модулем Numpy. Библиотека Numpy в Python содержит многомерную матрицу и массив структур данных. Таким образом, все связанные с массивом аспекты становятся проще и проще с использованием различных функций. Поскольку Numpy расшифровывается как Numerical Python, мы можем использовать его для различных математических операций с массивами.

NumPy Digitize() используется для получения индексов ячеек, к которым принадлежит каждое из этих значений во входном массиве. Проще говоря, эта функция возвращает ячейки, к которым принадлежит каждое из значений массива. Этот метод имеет решающее значение для разделения многих массивов в группу массивов в соответствии с их значениями. Лучшим примером этого было бы разделение студентов на классы А, В, С в соответствии с их оценками на экзамене.

Прежде чем мы начнем с этого метода и его способов использования, позвольте мне просто кратко рассказать вам о том, что такое метод Numpy digitize ().

Что такое Numpy digitize()

Функция < strong>Numpy digitize() помогает получить индексы ячейки, к которой принадлежит каждое значение входного массива, и возвращает массив, содержащий индексы ячейки. Входной массив, содержащий значения, и выходной массив, содержащий индексы ячеек, могут быть многомерными. Бункеры являются 1D и монотонными. np.digitize() реализован как np.searchsorted. Это означает, что двоичный поиск используется для связывания значений, которые лучше масштабируются для большего числа ячеек. Кроме того, он устраняет требование, чтобы входной массив был 1-мерным.

Синтаксис:

np.digitize(Array, Bin, Right)

Параметры

Array означает входной массив или массив, подлежащий бинированию. Bin – это массив ячеек. Right указывает, включают ли интервалы правый или левый край. По умолчанию используется правый край, не включенный в комплект.

Тип возврата:

Массив, содержащий индексы ячеек

Примеры функции оцифровки Numpy

Пример:

# import numpy 
import numpy as np 
  .array([1.2, 2.4, 3.6, 4.8]) .array([1.0, 1.3, 2.5, 4.0, 10.0]) 
  
# using np.digitize() method .digitize(a, bins) 
  
print(g)

Выход:

[1 2 3 4]

В приведенном выше примере функция np.digitize возвращает массив , содержащий индексы всех значений ячеек.

Существуют различные способы реализации функции Numpy digitize() в Python –

  • Размещение значений в двух ячейках
  • Все значения в трех ячейках
  • Подсчет частоты работы бункеров

Размещение значений в двух ячейках с помощью Numpy digitize()

ПРИМЕР:

import numpy as np

#creating data
d = [2, 4, 4, 7, 12, 14, 19, 20, 24, 31, 34]

#placing values into bins
np.digitize(d, bins=[20])

ВЫХОД:

array([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1])

ОБЪЯСНЕНИЕ:

В приведенном выше примере показано, как поместить значения массива в две ячейки. эти два бункера определяются как – 1. 0, если x < 20 2. 1, если x. Таким образом, он возвращает массив с индексом 0 для всех значений ниже 20 и 1 для значений выше 20.

Все значения помещены в три ячейки

ПРИМЕР:

import numpy as np

#create data
d = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins
np.digitize(d, bins=[10, 20])

ВЫХОД:

array([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])

ОБЪЯСНЕНИЕ:

Все значения данных в приведенном выше примере помещаются в три ячейки. Bins определяется в этом примере следующим образом: 1. 0, если x ≤ 10 2. 1 , если 10 < x ≤ 20 3. 2, если x > 20, Он возвращает массив с индексом 0 для значений ниже 10 и 1 для значений до 20 и 2 для значений выше 20. Поскольку синтаксис np.digitize() по умолчанию исключает правое ребро, значение 20 является индексом 2 в данном массиве. Если мы установим значение, то индекс 20 будет возвращен как 1.

Подсчет частоты каждого бина с помощью функции numpy.digitize() в Python

ПРИМЕР:

import numpy as np

#create data
d = [2, 4, 4, 7, 12, 14, 20, 22, 24, 31, 34]

#place values into bins.digitize(d, bins=[10, 20])

#view binned data
bin_d

#count frequency of each bin
np.bincount(bin_d)

ВЫХОД:

array([0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2])
array([4, 2, 5])

ОБЪЯСНЕНИЕ:

numpy.bincount() – это очень полезный метод, который дополняет функцию numpy.digitize (). Он подсчитывает частоту каждого бункера. В этом примере сначала мы помещаем все значения в три ячейки, а затем подсчитываем частоту каждого. Таким образом, выходные данные задаются как – Count 4 as Bin “0” содержит 4 значения данных. Count 2 as Bin “1” содержит 2 значения данных. Count 5 as Bin “2” содержит 5 значений данных.

Надо Читать:

  • Как преобразовать строку в нижний регистр в
  • Как вычислить Квадратный корень
  • Пользовательский ввод | Функция ввода () | Ввод с клавиатуры
  • Лучшая книга для изучения Python в 2020 году

Вывод

Мы видели различные способы размещения переменных в ячейки с помощью функции numpy.digitize() в python. Также я видел использование функции numpy.bincount() и то, как она дополняет функцию digitize. Функция Numpy digitize() вызывает ValueError, если ячейки не являются монотонными. И вызывает TypeError, если тип входного массива сложный. Надеюсь, что эта статья поможет вам использовать функцию digitize() по мере необходимости.

Попробуйте запустить программы на вашей стороне и дайте нам знать, если у вас есть какие-либо вопросы.

Счастливого кодирования!