Na orezanie hodnôt v poli poskytuje numpy modul Pythonu funkciu s názvom numpy.clip() . Vo funkcii clip() prejdeme interval a hodnoty, ktoré sú mimo intervalu, budú orezané pre okraje intervalu.
Ak zadáme interval [1, 2], hodnoty menšie ako 1 sa stanú 1 a väčšie ako 2 sú 2. Táto funkcia je podobná ako numpy.maximum(x_min, numpy.maximum(x, x_max)) . Ale je to rýchlejšie ako np.maximum(). In numpy.clip() , nie je potrebné vykonávať kontrolu na zabezpečenie x_min
Syntax:
numpy.clip(a, a_min, a_max, out=None)
Parametre:
x: pole_like
štvrťroky v roku
Tento parameter definuje zdrojové pole, ktorého prvky chceme orezať.
x_min: Žiadne, skalárne alebo pole
Tento parameter definuje minimálnu hodnotu pre hodnoty orezania. Na spodnom okraji intervalu nie je potrebné orezávanie.
x_max: Žiadne, skalárne alebo pole
bash dĺžka struny
Tento parameter definuje maximálnu hodnotu pre hodnoty orezania. Na hornom okraji intervalu nie je potrebné orezávanie. Tieto tri polia sa vysielajú, aby sa ich tvary zhodovali s poliami x_min a x_max. Toto sa vykoná iba vtedy, keď sú x_min a x_max podobné ako pole.
výstup: ndaaray (voliteľné)
Tento parameter definuje ndarray, v ktorom bude uložený výsledok. Pre orezanie na mieste to môže byť vstupné pole. Dátový typ týchto „out“ polí má správny tvar na držanie výstupu.
Návraty
clip_arr: ndarray
Táto funkcia vráti pole, ktoré obsahuje prvky 'x', ale hodnoty, ktoré sú menšie ako x_min, sú nahradené x_min a tie, ktoré sú väčšie ako x_max , sú nahradené x_max .
Príklad 1:
import numpy as np x= np.arange(12) y=np.clip(x, 3, 10) y
Výkon:
array([ 3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 10, 10])
Vo vyššie uvedenom kóde
matematika náhodná java
- Importovali sme numpy s aliasom np.
- Vytvorili sme pole 'x' pomocou arange() funkciu.
- Deklarovali sme premennú 'y' a priradili vrátenú hodnotu klip() funkciu.
- Vo funkcii sme odovzdali hodnoty poľa 'x', x_min a x_max
- Nakoniec sme sa pokúsili vytlačiť hodnotu 'a' .
Vo výstupe je zobrazený ndarray, ktorý obsahuje prvky v rozsahu od 3 do 10.
Príklad 2:
import numpy as np a = np.arange(12) np.clip(a, 3, 9, out=a) a
Výkon:
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])
Príklad 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)
Výkon:
array([3, 4, 3, 3, 4, 5, 6, 7, 8, 8, 8, 8])