Bagaimana untuk Menggantikan Elemen yang Melebihi Ambang dalam Tatasusunan NumPy dengan Cekap?

Linda Hamilton
Lepaskan: 2024-10-25 18:20:03
asal
239 orang telah melayarinya

How to Efficiently Replace Elements Exceeding a Threshold in NumPy Arrays?

Menggantikan Elemen yang Melebihi Ambang dalam Tatasusunan NumPy

Dalam bidang pemprosesan imej dan manipulasi data, keperluan sering timbul untuk mengubah suai elemen tertentu dalam tatasusunan berbilang dimensi. Satu operasi sedemikian melibatkan menggantikan semua nilai yang melebihi ambang yang telah ditetapkan dengan nilai baharu. Soalan berikut menangani keperluan ini:

"Saya mempunyai tatasusunan NumPy 2D. Bagaimanakah cara saya menggantikan semua nilai di dalamnya yang lebih besar daripada ambang T = 255 dengan nilai x = 255?"

Penyelesaian yang mudah untuk masalah ini melibatkan pengulangan elemen tatasusunan, membandingkan setiap satu dengan ambang dan mengemas kini elemen yang melebihinya. Walaupun kaedah ini berfungsi, ia boleh menjadi perlahan untuk tatasusunan besar disebabkan oleh gelung bersarang.

Pendekatan yang lebih cekap ditawarkan oleh pengindeksan NumPy's Fancy. Kaedah ini menyediakan cara ringkas untuk mengubah suai elemen berdasarkan keadaan boolean. Dengan memanfaatkan pengindeksan Fancy, kita boleh menggantikan elemen yang lebih besar daripada 255 dengan 255 seperti berikut:

<code class="python">arr[arr > 255] = x</code>
Salin selepas log masuk

Operasi ini melakukan perbandingan mengikut elemen antara elemen tatasusunan dan 255. Tatasusunan boolean yang terhasil kemudiannya digunakan untuk memilih dan kemas kini elemen yang sepadan dalam tatasusunan. Pengendali tugasan menggantikan elemen yang dipilih dengan nilai yang ditentukan.

Tanda aras menunjukkan keunggulan pengindeksan Fancy berbanding kaedah gelung tradisional. Pada matriks 500x500 rawak, menggantikan nilai yang lebih besar daripada 0.5 dengan 5 menggunakan pengindeksan Fancy mengambil masa kira-kira 7.59 milisaat setiap gelung. Prestasi pantas ini menjadikannya pilihan pilihan untuk operasi sedemikian.

Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Elemen yang Melebihi Ambang dalam Tatasusunan NumPy dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!