Stwórz własną funkc


Jak stworzyć własny ufunc

Aby stworzyć własną ufunc, musisz zdefiniować funkcję, tak jak robisz to z normalnymi funkcjami w Pythonie, a następnie dodać ją do swojej biblioteki NumPy ufunc za pomocą frompyfunc()metody.

Metoda frompyfunc()przyjmuje następujące argumenty:

  1. function - nazwa funkcji.
  2. inputs - liczba argumentów wejściowych (tablic).
  3. outputs - liczba tablic wyjściowych.

Przykład

Stwórz swój własny ufunc do dodania:

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

Sprawdź, czy funkcja jest ufunc

Sprawdź typ funkcji, aby sprawdzić, czy jest to funkcja ufunc, czy nie.

Powinno powrócić ufunc <class 'numpy.ufunc'>.

Przykład

Sprawdź, czy funkcja jest ufunc:

import numpy as np

print(type(np.add))

Jeśli nie jest ufunc, zwróci inny typ, na przykład ta wbudowana funkcja NumPy do łączenia dwóch lub więcej tablic:

Przykład

Sprawdź typ innej funkcji: concatenate():

import numpy as np

print(type(np.concatenate))

Jeśli funkcja nie zostanie w ogóle rozpoznana, zwróci błąd:

Przykład

Sprawdź typ czegoś, co nie istnieje. Spowoduje to błąd:

import numpy as np

print(type(np.blahblah))

Aby sprawdzić, czy funkcja jest ufunc w instrukcji if, użyj numpy.ufuncwartości (lub np.ufuncjeśli używasz np. jako aliasu dla numpy):

Przykład

Użyj instrukcji if, aby sprawdzić, czy funkcja jest ufunc, czy nie:

import numpy as np

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