สร้าง ufunc . ของคุณเอง
วิธีการสร้าง ufunc . ของคุณเอง
ในการสร้าง ufunc ของคุณเอง คุณต้องกำหนดฟังก์ชัน เช่นเดียวกับที่คุณทำกับฟังก์ชันปกติใน Python จากนั้นคุณเพิ่มลงในไลบรารี NumPy ufunc ของคุณด้วยfrompyfunc()
เมธอด
วิธี การfrompyfunc()
ใช้อาร์กิวเมนต์ต่อไปนี้:
function
- ชื่อของฟังก์ชันinputs
- จำนวนอาร์กิวเมนต์อินพุต (อาร์เรย์)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]))
ตรวจสอบว่า Function เป็น 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')