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

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

Mary-Kate Olsen
Lepaskan: 2024-11-13 17:18:02
asal
744 orang telah melayarinya

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

Menggunakan Modul SciPy Numpy untuk Mencari Maxima dan Minima Tempatan dalam Array Numpy 1D

Mencari fungsi modul Numpy atau SciPy yang mampu mengenal pasti setempat maxima dan minima dalam tatasusunan Numpy 1D, kita boleh meneroka penyelesaian terbukti yang digunakan dalam pengedaran Numpy.

Penyelesaian Menggunakan Fungsi Pengesanan Extrema SciPy

Untuk keadaan di mana SciPy anda pemasangan ialah versi 0.11 atau lebih baru, anda boleh memanfaatkan fungsi argrelextrema:

import numpy as np
from scipy.signal import argrelextrema

x = np.random.random(12)

# Detect local maxima
maxima_indices = argrelextrema(x, np.greater)

# Detect local minima
minima_indices = argrelextrema(x, np.less)
Salin selepas log masuk

Skrip ini menjana tatasusunan yang mengandungi indeks maxima atau minima setempat. Untuk mendapatkan semula nilai yang sepadan, gunakan:

maxima_values = x[maxima_indices[0]]
minima_values = x[minima_indices[0]]
Salin selepas log masuk

Pilihan Alternatif daripada SciPy.Signal

SciPy.signal juga menawarkan fungsi khusus untuk mengendalikan pengesanan maks dan min:Contoh Output

  • Untuk tatasusunan contoh [0.56660112, 0.76309473, 0.69597908, 0.38260156, 0.24346445, 40.560, 40.560 061, 0.35461957, 0.54398472, 0.59572658, 0.92377974], indeks keluaran maksimum tempatan dan minima ialah:
Maksimum: [1, 5, 7]

Minima: [4, 6, 8]

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan