logo

numpy.diff() a Pythonban

A numpy modul Piton nevű függvényt biztosít numpy.diff az n kiszámításáhozthdiszkrét különbség az adott tengely mentén. Ha 'x' a bemeneti tömb, akkor az első különbséget az out[i]=x[i+1]-a[i] adja. A nagyobb különbséget a diff rekurzív használatával számíthatjuk ki. A Python numpy modulja egy numpy.diff függvényt biztosít az n-edik diszkrét különbség kiszámításához az adott tengely mentén. Ha 'x' a bemeneti tömb, akkor az első különbséget az out[i]=x[i+1]-a[i] adja. segítségével kiszámíthatjuk a nagyobb különbséget diff rekurzív módon.

Szintaxis

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

Paraméterek

x: array_like

Ez a paraméter határozza meg azt a forrástömböt, amelynek elemei n-edik diszkrét deferencia azok, amelyeket ki szeretnénk számítani.

n: int (nem kötelező)

Ez a paraméter határozza meg, hogy hányszor legyen eltérés az értékek között. Ha 0, akkor a forrástömb visszaadásra kerül úgy, ahogy van.

append, prepend: array_like (opcionális)

Ez a paraméter egy ndarray-t definiál, amely meghatározza a hozzáfűzendő vagy előtag értékeket 'x' , a tengely mentén a különbségek kiszámítása előtt.

Visszaküldés:

Ez a függvény egy n-edik különbséget tartalmazó ndarray-t ad vissza, amelynek alakja megegyezik a 'x,' és a méret től kisebb n . A két elem közötti különbség típusa 'x' a kimenet típusa.

1. példa:

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

Kimenet:

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

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Létrehoztunk egy tömböt 'arr' segítségével np.array() függvényt a dtype segítségével 'uint8' .
  • Deklaráltuk a változót 'b' és hozzárendelte a visszaadott értékét np.diff() funkció.
  • Túljutottunk a tömbön 'arr' a függvényben.
  • Végül megpróbáltuk kinyomtatni az értékét 'b' és az elemek közötti különbség.

A kimenetben az elemek diszkrét különbségeit mutatja.

2. példa:

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

Kimenet:

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

3. példa:

 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 

Kimenet:

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

4. példa:

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

Kimenet:

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

A fenti kódban

  • Importáltuk a numpy-t np aliasnévvel.
  • Készítettünk egy sor dátumot 'x' segítségével np.arange() függvényt a dtype segítségével 'datetime64' .
  • Deklaráltuk a változót 'és' és hozzárendelte a visszaadott értékét np.diff() funkció.
  • Túljutottunk a tömbön 'x' a függvényben.
  • Végül megpróbáltuk kinyomtatni az értékét 'és' .

A kimenetben a dátumok közötti diszkrét különbségeket mutatja.