Автор оригинала: Team Python Pool.
Numpy Power | Подробное объяснение np.power() С Примерами
В этом уроке мы узнаем об одной из основных математических операций numpy, которые вы обычно используете в своем проекте data science и machine learning. Функция < strong>Numpy Power – это одна из продвинутых математических операций, которая очень полезна при выполнении продвинутых проектов. Мы будем понимать синтаксисы степенной функции с помощью различных примеров и пошаговых руководств.
Что такое Numpy Power?
Степенная функция Numpy является частью арифметических функций в Numpy. Numpy power () – это функция, доступная в numpy, в которой первый элемент массива является базой, которая поднимается до элемента power (второй массив) и, наконец, возвращает значение. На языке непрофессионалов numpy power вычисляет возведение значения в степень в Python.
Я предполагаю, что при написании этого поста вы уже знаете о возведении в степень. Если нет, позвольте мне быстро объяснить вам.
Согласно Википедии: href=”https://en.wikipedia.org/wiki/Exponentiation#:~:text=Exponentiation%20is%20a%20mathematical%20operation,to%20the%20power%20of%20n%22.”>Exponentiation – это математическая операция, записанная как bn, включающая два числа, основание b и показатель степени или степень n, и произносится как “b возведенный в степень n”. Когда n является положительным целым числом, возведение в степень соответствует повторному умножению основания: то есть bn является произведением умножения n оснований. href=”https://en.wikipedia.org/wiki/Exponentiation#:~:text=Exponentiation%20is%20a%20mathematical%20operation,to%20the%20power%20of%20n%22.”>Exponentiation – это математическая операция, записанная как bn, включающая два числа, основание b и показатель степени или степень n, и произносится как “b возведенный в степень n”. Когда n является положительным целым числом, возведение в степень соответствует повторному умножению основания: то есть bn является произведением умножения n оснований.
Теперь я думаю, что вы получили представление о возведении в степень. Итак, давайте перейдем к нашей основной теме и перейдем непосредственно к синтаксису numpy.power.
Синтаксис Numpy Power
Базовый Высокоуровневый (в основном используемый) синтаксис
np.power(array_of_base, array_of_exponent)
Это основной синтаксис numpy, который широко используется.
Однако numpy.power()является универсальной функцией, т. е. поддерживает несколько параметров, позволяющих оптимизировать ее работу в зависимости от специфики алгоритма, в котором она нам нужна. Фактический синтаксис numpy.power() выглядит следующим образом.
numpy.power(arr_of_base, arr_of_exp,,,,,)
Параметры степенной функции Numpy
Перейдем к параметрам функции numpy power.
Параметр | Обязательно или Нет |
arr_of_base | Обязательный |
art_of_experience | Обязательный |
из | Не обязательно |
где | Не обязательно |
кастинг | Не обязательно |
приказ | Не обязательно |
dtype | Не обязательно |
array_of_base:
Эти числа будут использованы как”основы” наших показателей. Имейте в виду, что вы также можете просто поставить одно целое число! Первый параметр этой np.степенной функции- array-of-bases.
Обратите внимание, что это необходимо. Здесь вы должны внести свой вклад. Кроме того, предмет, который вы предоставляете, может принимать различные формы. Можно предоставить массив NumPy, но также можно предоставить массивоподобный ввод.
Массивоподобные входные данные, которые будут работать здесь,-это такие вещи, как список Python, кортеж Python или один из других объектов Python, обладающих массивоподобными свойствами.
array_of_exponent:
Второй параметр-array-of-exponents, который позволяет указать показатели, которые вы будете применять к базам, array-of-bases.
Обратите внимание, что так же, как и вход массива баз, этот вход должен быть массивом NumPy или массивоподобным объектом. Таким образом, здесь вы можете предоставить массив NumPy, список Python, кортеж или другой объект Python с массивоподобными свойствами. Вы даже можете указать одно целое число!
из
Out – это ndarray (массив N- измерений) и необязательное поле в numpy power. Место, в котором будет сохранен результат. Если задано, то форма, в которую должны быть переданы входные данные, должна быть задана, когда возвращается только что выделенный массив, если он не получен или отсутствует. Кортеж (возможный только в качестве аргумента ключевого слова) должен иметь длину, равную выходным данным.
где
Это условие передается по данным. Массив out будет установлен на результат ufunc в местах, где условие Истинно. Внешний массив будет поддерживать свой первоначальный интерес в другом месте.
Обратите внимание, что когда по умолчанию создается неинициализированный список out, места в нем, где условие False, останутся неинициализированными.
Возвращаемое значение мощности Numpy
Функция Numpy Power обрабатывает элементы в самом первом входном выборе как дно и делает его поднятым в мощность соответствующего компонента 2-го входного массива.
Другими словами, функция NumPy power() возвращает массив с компонентами первого диапазона, возведенными в степенной сегмент второго массива. Результат, вероятно, будет в целочисленной форме.
Примеры для изучения работы Numpy Power
Прежде чем вы запустите код, вам нужно будет сначала запустить немного кода.
По сути, вы должны импортировать NumPy и дать ему”псевдоним”.”
import numpy as np
Пример 1: Базовый пример повышения мощности
Для начала мы будем работать с очень простой иллюстрацией.
Здесь мы просто собираемся поднять целое число в среднюю степень.
Для этого мы спрогнозироваем работу NumPy power вместе с кодом np.power(). Затем внутри круглой скобки мы приведем два аргумента. Дно и экспонента.
import numpy as np.power(4,2) print(y)
Выход:
16
Объяснение:
Это довольно просто. Он просто вычисляет 4 во 2-й степени, которая равна 16.
Обратите внимание на то, как входные данные выполняют свою работу. Первичный ввод (4 ) – это основание, а следующий аргумент (2) – показатель степени.
Именно так будут работать остальные дела.
Давайте рассмотрим более сложный случай.
Пример 2: Вычисление показателей массива чисел
import numpy as np .array([5,50,100]) print('Original Array is:') print(a) print('\n') print('After Calculating Exponents Array:') print(np.power(a,2))
Выход:
Original Array is:
[ 5 50 100]
After Calculating Exponents Array:
[ 25 2500 10000]
Объяснение
Здесь, в этом примере, мы вычисляем показатель степени массива вместо того, чтобы основание было единственным целым числом. Здесь массив означает, что база будет представлять собой группу чисел, организованных в массив (т. Е. список Python).
Итак, вот в этом случае база простой список чисел, которые [5, 50, 100]. В приведенном выше примере np.power() имеет два входа (a,2). Таким образом, a будет списком элементов, который является base [5, 50, 100] и 2 будут силой, которая будет поднята элементами, присутствующими в массиве ‘a’.
Пример 3: Использование мощности Numpy, когда и База, и Экспоненты являются Массивами
Давайте посмотрим, что произойдет, когда и база, и экспоненты будут массивами, а это означает, что вместо одного входа в качестве массива мы возьмем , оба входа будут массивами.
Всегда имейте в виду, что мы используем списки, потому что в Python нет ничего похожего на массив. Переходим к следующему примеру:
import numpy as np #Declaring a and b a = [3, 5, 7, 9, 11] b = [0, 1, 2, 3, 4] print("Elements of a raised to the power elements of b are: ") print(np.power(a, b))
Выход:
[ 1 5 49 729 14641]
Объяснение
В приведенном выше примере 3 мы объявили два массива (списка) с именами ‘a’ и ‘b’. Массив ‘a’ состоит из элементов [3, 5, 7, 9, 11] и массив ‘b’ состоит из [0, 1, 2, 3, 4] соответственно. Здесь первый массив ‘a’ будет массивом баз, а второй массив ‘b’ будет списком показателей. После этого мы вычислили результат ‘a’ в степень ‘b’ с помощью функции np.power(). Таким образом, расчет должен идти следующим образом:
np.power([[3, 5, 7, 9, 11], [0, 1, 2, 3, 4]) = [ 1 5 49 729 14641]
Примечание: Форма обоих массивов должна быть одинаковой.
Пример 4: Использование мощности Numpy для вычисления показателей с многомерным массивом numpy
В этом примере мы узнаем, как вычислить показатели двумерного базового массива с помощью функции np.power(). Также значение экспоненты будет представлять собой массив.
Давайте перейдем непосредственно к примерам, а затем поймем, как все работает. Вам будет легче учиться на собственном примере
import numpy as np .array([[0,1,2,3,4],[4,3,2,1,0],[4,0,1,2,3],[3,4,0,1,2]]) b = [2, 2, 2, 2, 2] print(np.power(a,b))
Выход:
[[ 0 1 4 9 16]
[16 9 4 1 0]
[16 0 1 4 9]
[ 9 16 0 1 4]]
Объяснение:
Давайте разберем вещи, чтобы сделать это легко для новичка. Как мы знаем, мы используем numpy, поэтому сначала мы импортировали библиотеку numpy как np. После этого мы создали 2-D массив numpy с помощью функции np.array() и сохранили массив в переменной ‘a’.
Давайте напечатаем это, чтобы вам было понятно, ребята
[[0 1 2 3 4]
[4 3 2 1 0]
[4 0 1 2 3]
[3 4 0 1 2]]
Это довольно простой 2-d NumPy массив, как вы можете видеть.
Теперь давайте применим функцию np.power() к этому 2d-массиву numpy с нашими экспонентами как [2, 2, 2, 2] и распечатаем ее.
print(np.power(a, [2, 2, 2, 2]))
Выход:
[[ 0 1 4 9 16]
[16 9 4 1 0]
[16 0 1 4 9]
[ 9 16 0 1 4]]
Как мы знаем, функция np.power() принимает два аргумента, первый аргумент – массив базисов – является 2-d массивом. Второй аргумент – экспоненты – представляет собой 1-d массив. Оба имеют одинаковое количество столбцов, которое равно '5'. Итак, здесь происходит то, что NumPy power применяет экспоненты к каждой строке и дает нам результат.
Это также известно как вещание.
Что Произойдет, если Показатель степени Numpy будет Отрицательным Числом
Сохраняя его простым , вы получите valueerror, если показатель степени является отрицательным числом
Давайте рассмотрим это на примере:
import numpy as np #Declaring a and b a = [3, 5, 7, 9, 11] b = [0, -1, 2, 3, 4] print("Elements of a raised to the power elements of b are: ") print(np.power(a, b))
Выход:
print(np.power(a, b))
ValueError: Integers to negative integer powers are not allowed.
Здесь, в этом примере, мы видим, что в массиве экспонент b есть отрицательное число'-1', Поэтому мы не можем получить желаемый результат. Интерпретатор Python покажет ошибку значения, говорящую о том, что Целые числа с отрицательными целыми степенями не допускаются.
Есть ли способ использовать Отрицательные числа в качестве экспоненты в Python или модуле Numpy?
Да, вы можете использовать numpy.float_power() для использования отрицательных чисел в качестве экспоненты.
Что Дальше?
NumPy очень мощен и невероятно важен для информатики в Python. Это правда, если вы интересуетесь наукой о данных в Python, вам действительно следует узнать больше о Python.
Возможно, вам понравятся наши следующие учебники по numpy.
- Numpy Mean: Реализация и важность
- Использование функции Numpy Random для создания случайных данных
- NumPy Reshape: Изменение Формы Массивов С Легкостью
Ссылка:
href="https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.power.html#numpy.power">Официальная документация href="https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.power.html#numpy.power">Официальная документация
Вывод
Функция numpy power() вычисляет экспоненты в Numpy. Это позволяет нам выполнять как простое возведение в степень, например, a в степень b, так и выполнять те же вычисления на больших массивах numpy.
Если у вас все еще есть какие-либо вопросы относительно функции NumPy power?
Оставьте свой вопрос в комментариях ниже.
<Счастливого Пифонирования!