Voor het knippen van de waarden in een array biedt de numpy-module van Python een functie genaamd numpy.clip() . In de functie clip() geven we het interval door, en de waarden die buiten het interval vallen, worden afgekapt voor de intervalranden.
Als we een interval van [1, 2] specificeren, worden de waarden kleiner dan 1 1 en groter dan 2 2. Deze functie is vergelijkbaar met numpy.maximum(x_min, numpy.maximum(x, x_max)) . Maar het is sneller dan np.maximum(). In numpy.clip() , het is niet nodig om een controle uit te voeren om dit te garanderen x_min
Syntaxis:
numpy.clip(a, a_min, a_max, out=None)
Parameters:
x: array_like
Python-lijst initialiseren
Deze parameter definieert de bronarray waarvan we de elementen willen knippen.
x_min: Geen, scalair of array_like
Deze parameter definieert de minimumwaarde voor clippingwaarden. Op de onderste intervalrand is knippen niet vereist.
Java-stringklasse
x_max: Geen, scalair of array_like
Deze parameter definieert de maximale waarde voor clippingwaarden. Op de bovenste intervalrand is knippen niet vereist. De drie arrays worden uitgezonden om hun vormen te matchen met de x_min- en x_max-arrays. Dit wordt alleen gedaan als x_min en x_max array_like zijn.
uit: ndaaray (optioneel)
Deze parameter definieert de ndarray waarin het resultaat wordt opgeslagen. Voor in-place clipping kan dit een invoerarray zijn. Het datatype van deze 'out'-arrays heeft de juiste vorm om de uitvoer vast te houden.
Geeft terug
clip_arr: ndarray
Deze functie retourneert een array die de elementen van 'x' bevat, maar de waarden die kleiner zijn dan de x_min, ze worden vervangen door x_min , en die groter zijn dan x_max , ze worden vervangen door x_max .
Voorbeeld 1:
import numpy as np x= np.arange(12) y=np.clip(x, 3, 10) y
Uitgang:
array([ 3, 3, 3, 3, 4, 5, 6, 7, 8, 9, 10, 10])
In de bovenstaande code
- We hebben numpy geïmporteerd met aliasnaam np.
- We hebben een array 'x' gemaakt met behulp van regelen() functie.
- We hebben de variabele 'y' gedeclareerd en de geretourneerde waarde van toegewezen klem() functie.
- We hebben de array 'x', x_min en x_max waarde in de functie doorgegeven
- Ten slotte hebben we geprobeerd de waarde van af te drukken 'En' .
In de uitvoer wordt een ndarray weergegeven, die elementen bevat van 3 tot 10.
panda's loc
Voorbeeld 2:
import numpy as np a = np.arange(12) np.clip(a, 3, 9, out=a) a
Uitgang:
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])
Voorbeeld 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)
Uitgang:
array([3, 4, 3, 3, 4, 5, 6, 7, 8, 8, 8, 8])