Tạo ufunc của riêng bạn
Cách tạo ufunc của riêng 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 thông thường trong Python, sau đó bạn thêm nó vào thư viện NumPy ufunc bằng phương thức frompyfunc()
.
Phương thức frompyfunc()
nhận các đối số sau:
-
function
- tên của chức năng. -
inputs
- số lượng đối số đầu vào (mảng). -
outputs
- số lượng mảng đầu ra.
Ví 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]))
Hãy tự mình thử »Kiểm tra xem một hàm có phải là ufunc không
Kiểm tra loại hàm để kiểm tra xem nó có phải là ufunc hay không.
Một ufunc sẽ trả về <class 'numpy.ufunc'>
.
Ví dụ
Kiểm tra xem một hàm có phải là ufunc không:
import numpy as np
print(type(np.add))
Hãy tự mình thử »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:
Ví dụ
Kiểm tra loại hàm khác: concatenate():
import numpy as np
print(type(np.concatenate))
Hãy tự mình thử »Nếu hàm này hoàn toàn không được nhận dạng, nó sẽ trả về lỗi:
Ví 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))
Hãy tự mình thử » Để kiểm tra xem hàm có phải là ufunc trong câu lệnh if hay không, hãy sử dụng giá trị numpy.ufunc
(hoặc np.ufunc
nếu bạn sử dụng np làm bí danh cho numpy):
Ví dụ
Sử dụng câu lệnh if để kiểm tra xem hàm có phải là ufunc hay không:
import numpy as np
if type(np.add) == np.ufunc:
print('add is ufunc')
else:
print('add is not ufunc')
Hãy tự mình thử »