Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menggantikan Elemen Bernilai Tinggi dengan Cekap dalam Tatasusunan NumPy?
Masalah:
Dalam tatasusunan NumPy dua dimensi, anda mahu menggantikan nilai yang lebih besar daripada ambang (cth., T = 255) dengan nilai tertentu (cth., x = 255). Pendekatan konvensional melibatkan gelung yang memakan masa.
Penyelesaian:
NumPy menawarkan penyelesaian yang ringkas dan cekap yang menghapuskan keperluan untuk gelung yang jelas. Dengan memanfaatkan pengindeksan Fancy, anda boleh melakukan operasi gantian dengan mudah:
<code class="python">arr[arr > 255] = x</code>
Barisan tunggal kod ini menggantikan semua elemen dalam tatasusunan yang memenuhi syarat (> 255) dengan nilai yang ditentukan (x).
Prestasi:
Pendekatan pengindeksan Fancy adalah jauh lebih pantas daripada kaedah gelung untuk, seperti yang ditunjukkan oleh pengukuran masa. Untuk matriks rawak 500 x 500, menggantikan nilai yang lebih besar daripada 0.5 dengan 5 mengambil purata 7.59 milisaat menggunakan pengindeksan Fancy:
<code class="python">import numpy as np A = np.random.rand(500, 500) %timeit A[A > 0.5] = 5</code>
Kelebihan:
Atas ialah kandungan terperinci Bagaimana untuk Menggantikan Elemen Bernilai Tinggi dengan Cekap dalam Tatasusunan NumPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!