logo

numpy.diff() Python

Numpy modulis Python suteikia funkciją, vadinamą nelygus.diff n apskaičiavimuithdiskretiškas skirtumas išilgai nurodytos ašies. Jeigu 'x' yra įvesties masyvas, tada pirmasis skirtumas pateikiamas out[i]=x[i+1]-a[i]. Didesnį skirtumą galime apskaičiuoti naudodami diff rekursyviai. Python modulis numpy suteikia funkciją, vadinamą numpy.diff, skirtą n-ajam diskretajam skirtumui išilgai nurodytos ašies apskaičiuoti. Jei 'x' yra įvesties masyvas, tada pirmasis skirtumas gaunamas iš out[i]=x[i+1]-a[i]. Didesnį skirtumą galime apskaičiuoti naudodami skirt rekursyviai.

Sintaksė

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

Parametrai

x: panašus į masyvą

Šis parametras apibrėžia šaltinio masyvą, kurio n-oji diskrečioji nuokrypa yra tie, kuriuos norime apskaičiuoti.

n: int (neprivaloma)

Šis parametras apibrėžia, kiek kartų reikšmės skiriasi. Jei jis yra 0, tada šaltinio masyvas grąžinamas toks, koks yra.

pridėti, pridėti: array_like (neprivaloma)

Šis parametras apibrėžia ndarray, kuris apibrėžia reikšmes, prie kurių bus pridėta arba pridedama 'x' , išilgai ašies prieš apskaičiuojant skirtumus.

Grąžinimai:

Ši funkcija grąžina ndarray, turinčią n-tuosius skirtumus, turinčius tokią pačią formą kaip 'x,' o matmuo yra mažesnis nuo n . Skirtumo tarp bet kurių dviejų elementų tipas 'x' yra išvesties tipas.

1 pavyzdys:

 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,...] 

Išvestis:

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

Aukščiau pateiktame kode

  • Mes importavome numpy su slapyvardžiu np.
  • Mes sukūrėme masyvą 'arr' naudojant np.array() funkcija su dtype 'uint8' .
  • Mes paskelbėme kintamąjį 'b' ir priskyrė grąžintą vertę np.diff() funkcija.
  • Mes praėjome masyvą 'arr' funkcijoje.
  • Galiausiai bandėme atspausdinti vertę 'b' ir elementų skirtumas.

Išvestyje jis parodo atskirus elementų skirtumus.

keitiklio eilutė iki šiol

2 pavyzdys:

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

Išvestis:

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

3 pavyzdys:

 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 

Išvestis:

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

4 pavyzdys:

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

Išvestis:

 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]') 

Aukščiau pateiktame kode

  • Mes importavome numpy su slapyvardžiu np.
  • Sukūrėme datų masyvą 'x' naudojant np.arange() funkcija su dtype 'datetime64' .
  • Mes paskelbėme kintamąjį 'ir' ir priskyrė grąžintą vertę np.diff() funkcija.
  • Mes praėjome masyvą 'x' funkcijoje.
  • Galiausiai bandėme atspausdinti vertę 'ir' .

Išvestyje jis parodo atskirus datų skirtumus.