Учебник по NumPy

ГЛАВНАЯ Введение в NumPy Начало работы с NumPy NumPy Создание массивов Индексация массива NumPy Нарезка массива NumPy Типы данных NumPy Копирование NumPy против просмотра Форма массива NumPy Изменение формы массива NumPy Итерация массива NumPy Объединение массивов NumPy Разделение массива NumPy Поиск массива NumPy Сортировка массива NumPy Фильтр массива NumPy

NumPy Случайный

Случайное вступление Распределение данных Случайная перестановка Морской модуль Нормальное распределение Биномиальное распределение Распределение рыбы Равномерное распределение Логистическая дистрибуция Полиномиальное распределение Экспоненциальное распределение Распределение площади Чи Рэлеевское распределение Распределение Парето Распределение Zipf

NumPy ufunc

Введение ufunc Создать функцию ufunc Простая арифметика ufunc Округление десятичных знаков Журналы UFUNC ufunc Суммирование продукты ufunc Отличия ufunc ufunc Поиск LCM ufunc Поиск НОД ufunc Тригонометрический ufunc Гиперболический ufunc набор операций

Викторина/Упражнения

Викторина NumPy NumPy-упражнения

Создайте свой собственный ufunc


Как создать свой собственный ufunc

Чтобы создать свой собственный ufunc, вам нужно определить функцию, как вы это делаете с обычными функциями в Python, а затем добавить ее в свою библиотеку ufunc NumPy с помощью frompyfunc()метода.

Метод frompyfunc()принимает следующие аргументы:

  1. function - название функции.
  2. inputs - количество входных аргументов (массивов).
  3. outputs - количество выходных массивов.

Пример

Создайте свой собственный ufunc для добавления:

import numpy as np

def myadd(x, y):
  return x+y

myadd = np.frompyfunc(myadd, 2, 1)

print(myadd([1, 2, 3, 4], [5, 6, 7, 8]))

Проверить, является ли функция функцией ufunc

Проверьте тип функции, чтобы проверить, является ли она ufunc или нет.

Ufunc должен вернуться <class 'numpy.ufunc'>.

Пример

Проверьте, является ли функция ufunc:

import numpy as np

print(type(np.add))

Если это не ufunc, он вернет другой тип, как эта встроенная функция NumPy для объединения двух или более массивов:

Пример

Проверьте тип другой функции: concatenate():

import numpy as np

print(type(np.concatenate))

Если функция вообще не распознана, она вернет ошибку:

Пример

Проверьте тип того, чего не существует. Это вызовет ошибку:

import numpy as np

print(type(np.blahblah))

Чтобы проверить, является ли функция ufunc в операторе if, используйте numpy.ufuncзначение (или np.ufuncесли вы используете np в качестве псевдонима для numpy):

Пример

Используйте оператор if, чтобы проверить, является ли функция ufunc или нет:

import numpy as np

if type(np.add) == np.ufunc:
  print('add is ufunc')
else:
  print('add is not ufunc')