Cara Membuat Ufunc sesuai keinginan kita
Untuk membuat ufunc kita sendiri, maka kita harus mendefinisikan sebuah fungsi, seperti yang dilakukan dengan fungsi normal di Python, lalu kita dapat menambahkannya ke perpustakaan ufunc NumPy dengan metode frompyfunc().
Metode frompyfunc() mengambil argumen berikut:
- function – nama fungsi.
- input – jumlah argumen input (array).
- output – jumlah array output.
Contoh:
Buat ufunc kita sendiri untuk penjumlahan
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]))
Periksa apakah Fungsi adalah ufunc
Periksa type dari fungsi untuk memeriksa apakah fungsi tersebut merupakan ufunc atau bukan.
Sebuah ufunc harus mengembalikan nilai.
Contoh:
Periksa apakah suatu fungsi adalah ufunc
import numpy as np print(type(np.add))
Jika fungsi bukan ufunc, maka akan mengembalikan tipe yang lain, seperti fungsi NumPy bawaan untuk menggabungkan dua atau lebih array.
Contoh:
Periksa tipe fungsi lain: concatenate()
import numpy as np print(type(np.concatenate))
Jika fungsinya tidak dikenali sama sekali, maka kode akan mengembalikan error.
Contoh:
Periksa type sesuatu yang tidak ada. Maka akan menghasilkan error
import numpy as np print(type(np.blahblah))
Untuk menguji apakah fungsi adalah ufunc dalam pernyataan if, gunakan nilai numpy.ufunc (atau np.ufunc jika kita menggunakan np sebagai alias untuk numpy).
Contoh:
Gunakan pernyataan if untuk memeriksa apakah fungsi tersebut adalah ufunc atau bukan
import numpy as np if type(np.add) == np.ufunc: print('add is ufunc') else: print('add is not ufunc')