Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mencari Maxima dan Minima Tempatan dalam Tatasusunan Numpy 1D?

Bagaimana untuk mencari Maxima dan Minima Tempatan dalam Tatasusunan Numpy 1D?

DDD
DDDasal
2024-11-19 21:56:021000semak imbas

How to Find Local Maxima and Minima in 1D Numpy Arrays?

Mencari Maxima dan Minima Tempatan dalam Tatasusunan 1D dengan Numpy

Mengenal pasti maxima dan minima tempatan dalam tatasusunan numpy 1D ialah tugas biasa dalam pelbagai aplikasi . Walaupun menyemak elemen bersebelahan ialah pendekatan intuitif, Numpy menawarkan penyelesaian yang lebih komprehensif dan boleh dipercayai.

Fungsi argrelextrema Numpy

Dalam SciPy 0.11 dan lebih baru, fungsi argrelextrema boleh cekap cari kedua-dua maxima dan minima tempatan dalam tatasusunan numpy 1D. Ia memerlukan dua hujah:

  1. tatasusunan: Tatasusunan numpy input.
  2. pembanding: Fungsi perbandingan (cth., np.greater atau np.less) yang menentukan kriteria untuk mengenal pasti extrema.

Penggunaan:

Untuk mencari maksimum tempatan, gunakan:

argrelextrema(x, np.greater)

Untuk mencari minima setempat, gunakan:

argrelextrema(x, np.less)

Output

Fungsi argrelextrema mengembalikan tuple yang mengandungi tatasusunan indeks satu dimensi yang sepadan dengan extrema. Indeks ini boleh digunakan untuk mengakses nilai maksimum atau minima setempat.

Contoh:

Pertimbangkan tatasusunan numpy berikut:

x = np.random.random(12)

Mencari indeks maksimum dan minima tempatan:

max_indices = argrelextrema(x, np.greater)[0]
min_indices = argrelextrema(x, np.less)[0]

Mendapatkan semula nilai sebenar:

max_values = x[max_indices]
min_values = x[min_indices]

Dengan menggunakan fungsi argrelextrema Numpy, anda boleh mengenal pasti maxima dan minima setempat dengan tepat dalam tatasusunan numpy 1D, memudahkan tugas biasa ini.

Atas ialah kandungan terperinci Bagaimana untuk mencari Maxima dan Minima Tempatan dalam Tatasusunan Numpy 1D?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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