나만의 ufunc 만들기


자신의 ufunc를 만드는 방법

자신만의 ufunc를 생성하려면 Python의 일반 함수와 마찬가지로 함수를 정의한 다음 frompyfunc()메서드를 사용하여 NumPy ufunc 라이브러리에 추가해야 합니다.

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))

함수가 if 문에서 ufunc인지 테스트하려면 numpy.ufunc값을 사용합니다(또는 np.ufuncnp를 numpy의 별칭으로 사용하는 경우):

예시

if 문을 사용하여 함수가 ufunc인지 여부를 확인합니다.

import numpy as np

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