logo

numpy.diff() in Python

De numpy-module van Python biedt een functie genaamd numpy.diff voor het berekenen van de nediscreet verschil langs de gegeven as. Als 'X' de invoerarray is, dan wordt het eerste verschil gegeven door out[i]=x[i+1]-a[i]. We kunnen het hogere verschil berekenen door diff recursief te gebruiken. De numpy-module van Python biedt een functie genaamd numpy.diff voor het berekenen van het n-de discrete verschil langs de gegeven as. Als 'x' de invoerarray is, wordt het eerste verschil gegeven door out[i]=x[i+1]-a[i]. We kunnen het hogere verschil berekenen met behulp van verschil recursief.

Syntaxis

 numpy.diff(a, n=1, axis=-1, prepend=, append=) 

Parameters

x: array_like

Deze parameter definieert de bronarray waarvan de elementen met discrete eerbied de elementen zijn die we willen berekenen.

n: int(optioneel)

Deze parameter definieert het aantal keren dat de waarden verschillen. Als deze 0 is, wordt de bronarray geretourneerd zoals deze is.

toevoegen, voorafgaan: array_like(optioneel)

Deze parameter definieert een ndarray, die de waarden definieert die worden toegevoegd of voorafgegaan 'X' , langs de as voordat de verschillen worden berekend.

Geeft terug:

Deze functie retourneert een ndarray met n-de verschillen met dezelfde vorm als 'X,' en de afmeting is kleiner van N . Het type verschil tussen twee elementen van 'X' is het type uitvoer.

Voorbeeld 1:

 import numpy as np arr = np.array([0, 1, 2], dtype=np.uint8) arr b=np.diff(arr) b arr[2,...] - arr[1,...] - arr[0,...] 

Uitgang:

 array([0, 1, 2], dtype=uint8) array([1, 1], dtype=uint8) 1 

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • We hebben een array gemaakt 'arr' gebruik makend van np.array() functie met het dtype 'uint8' .
  • We hebben de variabele gedeclareerd 'B' en de geretourneerde waarde van de toegewezen np.diff() functie.
  • We zijn de array gepasseerd 'arr' in de functie.
  • Ten slotte hebben we geprobeerd de waarde van af te drukken 'B' en het verschil tussen elementen.

In de uitvoer worden de discrete verschillen tussen elementen weergegeven.

Voorbeeld 2:

 import numpy as np x = np.array([11, 21, 41, 71, 1, 12, 33, 2]) y = np.diff(x) x y 

Uitgang:

 array([11, 21, 41, 71, 1, 12, 33, 2]) array([ 10, 20, 30, -70, 11, 21, -31]) 

Voorbeeld 3:

 import numpy as np x = np.array([[11, 21, 41], [71, 1, 12], [33, 2, 13]]) y = np.diff(x, axis=0) y z = np.diff(x, axis=1) z 

Uitgang:

bash voor lus
 array([[ 60, -20, -29], [-38, 1, 1]]) array([[ 10, 20], [-70, 11], [-31, 11]]) 

Voorbeeld 4:

 import numpy as np x = np.arange('1997-10-01', '1997-12-16', dtype=np.datetime64) y = np.diff(x) y 

Uitgang:

 array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype='timedelta64[D]') 

In de bovenstaande code

  • We hebben numpy geïmporteerd met aliasnaam np.
  • We hebben een reeks datums gemaakt 'X' gebruik makend van np.arange() functie met het dtype 'datetime64' .
  • We hebben de variabele gedeclareerd 'En' en de geretourneerde waarde van de toegewezen np.diff() functie.
  • We zijn de array gepasseerd 'X' in de functie.
  • Ten slotte hebben we geprobeerd de waarde van af te drukken 'En' .

In de uitvoer worden de discrete verschillen tussen datums weergegeven.