Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mencari Maxima dan Minima Tempatan dalam Array Numpy 1D Menggunakan SciPy?
Mencari Maxima/Minima Setempat dalam Tatasusunan Numpy 1D dengan Numpy
Mengenal pasti maxima dan minima setempat dalam tatasusunan numpy 1D ialah tugas biasa dalam pemprosesan isyarat dan analisis data. Walaupun pendekatan mudah melibatkan membandingkan elemen dengan jiran terdekatnya, penyelesaian yang lebih mantap dicari dalam perpustakaan numpy/scipy.
Penyelesaian Menggunakan argrelextrema SciPy
Dalam SciPy versi 0.11 dan seterusnya, fungsi argrelextrema menyediakan cara yang cekap untuk mencari ekstrem tempatan dalam tatasusunan 1D:
import numpy as np from scipy.signal import argrelextrema x = np.random.random(12) # Find indices of local maxima maxima_indices = argrelextrema(x, np.greater) # Find indices of local minima minima_indices = argrelextrema(x, np.less)
Fungsi mengembalikan tupel yang mengandungi indeks unsur yang maksima atau minima setempat:
>>> argrelextrema(x, np.greater) (array([1, 5, 7]),) >>> argrelextrema(x, np.less) (array([4, 6, 8]),)
Untuk mendapatkan nilai sebenar pada ekstrem tempatan ini:
>>> x[argrelextrema(x, np.greater)[0]]
Fungsi Tambahan dalam SciPy
Selain argrelextrema, SciPy menyediakan fungsi khusus untuk mencari sahaja maxima atau minima:
Atas ialah kandungan terperinci Bagaimana untuk mencari Maxima dan Minima Tempatan dalam Array Numpy 1D Menggunakan SciPy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!