Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menggunakan Fungsi dengan Cekap pada Tatasusunan NumPy?
Fungsi Penvektoran untuk Tatasusunan Numpy
Untuk memetakan fungsi dengan cekap pada tatasusunan numpy, anda boleh memanfaatkan kuasa pemvektoran, yang membolehkan anda untuk melaksanakan operasi mengikut elemen pada tatasusunan. Ini adalah lebih pantas daripada menggunakan pendekatan berasaskan gelung seperti pemahaman senarai.
Fungsi Asli NumPy
Jika fungsi yang anda ingin petakan sudah divektorkan sebagai fungsi NumPy, seperti np.square() untuk elemen kuasa dua, sangat disyorkan untuk menggunakannya. Ia akan menjadi jauh lebih pantas berbanding kaedah lain.
Vectorization dengan NumPy's vectorize
NumPy menyediakan fungsi vectorize untuk fungsi vectorizing. Ia membungkus fungsi anda untuk mendayakan operasi mengikut elemen pada tatasusunan:
import numpy as np def f(x): return x ** 2 vf = np.vectorize(f) x = np.array([1, 2, 3, 4, 5]) squares = vf(x)
Alternatif lain ialah menggunakan vektorize tanpa memulakan pembalut fungsi:
squares = np.vectorize(f)(x)
Kaedah Vektorisasi Lain
Kaedah lain untuk vektorisasi sertakan:
Prestasi Pertimbangan
Walaupun semua kaedah ini boleh menvektorkan fungsi, prestasinya mungkin berbeza-beza. Penanda aras telah menunjukkan bahawa menggunakan fungsi asli NumPy adalah yang paling pantas jika ia tersedia. Untuk kes lain, vectorize dan fromiter biasanya berprestasi lebih baik daripada np.array(list(map(f, x))).
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Fungsi dengan Cekap pada Tatasusunan NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!