Tạo ufunc của riêng bạn


Cách tạo chức năng riêng của bạn

Để tạo ufunc của riêng bạn, bạn phải xác định một hàm, giống như bạn làm với các hàm bình thường trong Python, sau đó bạn thêm nó vào thư viện ufunc NumPy của mình bằng frompyfunc()phương thức.

Phương frompyfunc()thức nhận các đối số sau:

  1. function- tên của chức năng.
  2. inputs- số lượng đối số đầu vào (mảng).
  3. outputs- số lượng mảng đầu ra.

Thí dụ

Tạo ufunc của riêng bạn để bổ sung:

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

Kiểm tra xem một Hàm có phải là một chức năng không

Kiểm tra loại chức năng để kiểm tra xem nó có phải là một chức năng không hoạt động hay không.

Một ufunc sẽ trở lại <class 'numpy.ufunc'>.

Thí dụ

Kiểm tra xem một chức năng có phải là một chức năng hay không:

import numpy as np

print(type(np.add))

Nếu nó không phải là ufunc, nó sẽ trả về một kiểu khác, như hàm NumPy tích hợp này để nối hai hoặc nhiều mảng:

Thí dụ

Kiểm tra kiểu của một hàm khác: concatenate ():

import numpy as np

print(type(np.concatenate))

Nếu hàm hoàn toàn không được nhận dạng, nó sẽ trả về lỗi:

Thí dụ

Kiểm tra loại thứ gì đó không tồn tại. Điều này sẽ tạo ra một lỗi:

import numpy as np

print(type(np.blahblah))

Để kiểm tra xem hàm có phải là hàm ufunc trong câu lệnh if hay không, hãy sử dụng numpy.ufuncgiá trị (hoặc np.ufuncnếu bạn sử dụng np làm bí danh cho numpy):

Thí dụ

Sử dụng câu lệnh if để kiểm tra xem hàm có phải là hàm ufunc hay không:

import numpy as np

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