Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah fungsi `argrelextrema` SciPy boleh digunakan untuk mengesan maksimum dan minima setempat dalam tatasusunan Numpy 1D dengan berkesan?

Bagaimanakah fungsi `argrelextrema` SciPy boleh digunakan untuk mengesan maksimum dan minima setempat dalam tatasusunan Numpy 1D dengan berkesan?

Susan Sarandon
Susan Sarandonasal
2024-11-16 07:04:02586semak imbas

How can SciPy's `argrelextrema` function be used to effectively detect local maxima and minima in 1D Numpy arrays?

Pengesanan Extrema Tempatan dalam Tatasusunan Numpy 1D dengan SciPy

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!

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