Mencari maksima dan minima setempat dalam tatasusunan berangka 1D ialah tugas biasa dalam data analisis. Walaupun pendekatan ringkas mungkin melibatkan membandingkan elemen dengan jirannya, adalah dinasihatkan untuk menggunakan algoritma yang telah ditetapkan sebagai sebahagian daripada perpustakaan pengkomputeran saintifik yang popular.
Salah satu perpustakaan tersebut ialah SciPy, yang menawarkan fungsi argrelextrema untuk mengesan ekstrem tempatan dalam 1D tatasusunan. Fungsi ini boleh berfungsi dengan maxima dan minima, menjadikannya penyelesaian yang serba boleh. Begini cara untuk menggunakannya:
import numpy as np from scipy.signal import argrelextrema # Example 1D array x = np.random.random(12) # Detect local maxima maxima_indices = argrelextrema(x, np.greater) # Detect local minima minima_indices = argrelextrema(x, np.less)
Fungsi argrelextrema mengembalikan tuple yang mengandungi tatasusunan dengan indeks ekstrema tempatan. Ambil perhatian bahawa ini hanyalah indeks dalam tatasusunan input, bukan nilai sebenar. Untuk mendapatkan nilai yang sepadan, gunakan:
maxima_values = x[maxima_indices[0]] minima_values = x[minima_indices[0]]
Untuk kemudahan, SciPy juga menyediakan fungsi kendiri argrelmax dan argrelmin untuk mencari maxima dan minima secara berasingan.
Atas ialah kandungan terperinci Bagaimanakah fungsi `argrelextrema` SciPy boleh digunakan untuk mengesan maksimum dan minima setempat dalam tatasusunan Numpy 1D dengan berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!