Numpy ikke-null min

Numpy ikke-null min
Denne korte opplæringen vil diskutere hvordan du kan bestemme minimumsverdien i en numpy matrise, unntatt nullverdier. Før vi kommer i gang, må du være kjent med Numpy ikke-null () -funksjonen.

Trekke ut verdier som ikke er null i en matrise

Det første trinnet er å lære å hente elementene som ikke er null i en numpy matrise. For det kan vi bruke ikke -funksjonen som ikke er null (). Funksjonen tar en input-matrise og returnerer indeksene for ikke-null-elementene. Et eksempel er som vist:

# Importer numpy
Importer numpy som NP
arr = np.Array ([[1,2,3,4], [5,6,7,8]]))
trykk (NP.Nonzero (ARR))

Koden over returnerer en tuple av matriser som inneholder indeksene for ikke-null elementene i hver dimensjon.

Et eksempelutgang vises nedenfor:

(Array ([0, 0, 0, 0, 1, 1, 1, 1], dtype = int64), Array ([0, 1, 2, 3, 0, 1, 2, 3], dtype = int64) )

Vi kan bruke inngangen fra denne funksjonen for å bestemme Min- og Max -verdiene ved å bruke deres respektive funksjoner.

Numpy min ikke-null verdi

La oss ta en enkel endimensjonal matrise som holder elementene som vist nedenfor:

arr = np.Array ([0,1,2,3,0,0,4,5])

Vi kan bruke indeksene som returneres fra ovennevnte funksjon for å få de faktiske verdiene. For eksempel:

trykk (ARR [NP.nonzero (arr)])

Ovennevnte operasjon bruker array-indeksering for å få ikke-null matriseelementer.

Vi kan pakke ovennevnte operasjon inne i NP.min () funksjon for å få minverdien. Et eksempel er som vist:

trykk (NP.min (arr [np.nonzero (arr)))))

Ovennevnte kode skal returnere minimumsverdien i matrisen.

Merk: Denne operasjonen vil fungere på N-dimensjonale matriser.

Numpy maks ikke-null verdi

Vi kan ganske enkelt erstatte NP.Min () Funksjon med NP for å hente maksimal verdi med NP.Max ().

Et eksempel er som illustrert i koden nedenfor:

trykk (NP.Max (arr [NP.nonzero (arr)))))

Lukking

I denne opplæringen lærte vi hvordan vi kunne bruke Numpy Nonzero og Min -funksjoner for å bestemme minimumsverdien i en matrise, unntatt nullverdier.

Takk for at du leste!!