logo

numpy.clip() v Pythonu

Za izrezovanje vrednosti v matriki nudi modul numpy v Pythonu funkcijo, imenovano numpy.clip() . V funkciji clip() bomo posredovali interval, vrednosti, ki so zunaj intervala, pa bodo odrezane za robove intervala.

Če določimo interval [1, 2], potem vrednosti, manjše od 1, postanejo 1, večje od 2 pa 2. Ta funkcija je podobna numpy.maximum(x_min, numpy.maximum(x, x_max)) . Vendar je hitrejši od np.maximum(). notri numpy.clip() , ni treba izvajati preverjanja za zagotovitev x_min.

Sintaksa:

 numpy.clip(a, a_min, a_max, out=None) 

Parametri:

x: array_like

niz v c++

Ta parameter določa izvorno matriko, katere elemente želimo izrezati.

x_min: Brez, skalarno ali array_like

Ta parameter določa najmanjšo vrednost za vrednosti izrezovanja. Na spodnjem robu intervala striženje ni potrebno.

x_max: Brez, skalarno ali array_like

Ta parameter določa največjo vrednost za vrednosti izrezovanja. Na zgornjem intervalnem robu striženje ni potrebno. Trije nizi se oddajajo za ujemanje njihovih oblik z nizi x_min in x_max. To bo izvedeno samo, če sta x_min in x_max podobna array_masu.

ven: ndaaray (neobvezno)

vrzi vrže v javi

Ta parameter določa ndarray, v katerem bo shranjen rezultat. Za izrezovanje na mestu je to lahko vhodno polje. Podatkovni tip teh 'out' nizov ima pravo obliko za shranjevanje izhoda.

Vračila

clip_arr: ndarray

Ta funkcija vrne matriko, ki vsebuje elemente 'x', vendar vrednosti, ki so manjše od x_min, jih nadomestijo z x_min , in tiste, ki so večje od x_max , se nadomestijo z x_max .

chmod 755

Primer 1:

 import numpy as np x= np.arange(12) y=np.clip(x, 3, 10) y 

Izhod:

 array([ 3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 10, 10]) 

V zgornji kodi

  • Uvozili smo numpy z vzdevkom np.
  • Z uporabo smo ustvarili matriko 'x' uredi () funkcijo.
  • Razglasili smo spremenljivko 'y' in ji dodelili vrnjeno vrednost posnetek () funkcijo.
  • V funkciji smo posredovali vrednost matrike 'x', x_min in x_max
  • Nazadnje smo poskušali natisniti vrednost 'in' .

V izhodu je prikazana ndarray, ki vsebuje elemente v razponu od 3 do 10.

Primer 2:

 import numpy as np a = np.arange(12) np.clip(a, 3, 9, out=a) a 

Izhod:

 array([3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 9, 9]) array([3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 9, 9]) 

Primer 3:

 import numpy as np a = np.arange(12) np.clip(a, [3, 4, 1, 1, 1, 4, 4, 4, 4, 4, 5, 6], 8) 

Izhod:

 array([3, 4, 3, 3, 4, 5, 6, 7, 8, 8, 8, 8])