logo

numpy.diff() v Pythonu

Numpy modul Krajta poskytuje funkci tzv numpy.diff pro výpočet nčtdiskrétní rozdíl podél dané osy. Li 'X' je vstupní pole, pak je první rozdíl dán jako out[i]=x[i+1]-a[i]. Vyšší rozdíl můžeme vypočítat pomocí diff rekurzivně. Numpy modul Pythonu poskytuje funkci nazvanou numpy.diff pro výpočet n-tého diskrétního rozdílu podél dané osy. Pokud je 'x' vstupní pole, pak je první rozdíl dán out[i]=x[i+1]-a[i]. Vyšší rozdíl můžeme vypočítat pomocí dif rekurzivně.

Syntax

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

Parametry

x: array_like

Tento parametr definuje zdrojové pole, jehož prvky n-té diskrétní odchylky jsou ty, které chceme vypočítat.

n: int (volitelné)

Tento parametr definuje, kolikrát se hodnoty liší. Pokud je 0, pak se zdrojové pole vrátí tak, jak je.

připojit, předřadit: array_like(volitelné)

Tento parametr definuje ndarray, který definuje hodnoty, které budou připojeny nebo před nimi 'X' podél osy před výpočtem rozdílů.

Vrácení:

Tato funkce vrací ndarray obsahující n-té rozdíly mající stejný tvar jako 'X,' a rozměr je menší od n . Typ rozdílu mezi libovolnými dvěma prvky 'X' je typ výstupu.

Příklad 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,...] 

Výstup:

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

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Vytvořili jsme pole 'arr' použitím np.array() funkce s dtype 'uint8' .
  • Proměnnou jsme deklarovali 'b' a přiřadil vrácenou hodnotu np.diff() funkce.
  • Prošli jsme polem 'arr' ve funkci.
  • Nakonec jsme zkusili vytisknout hodnotu 'b' a rozdíl mezi prvky.

Ve výstupu ukazuje diskrétní rozdíly prvků.

Příklad 2:

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

Výstup:

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

Příklad 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 

Výstup:

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

Příklad 4:

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

Výstup:

jak převést z řetězce na int
 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]') 

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Vytvořili jsme řadu dat 'X' použitím np.arange() funkce s dtype 'datetime64' .
  • Proměnnou jsme deklarovali 'a' a přiřadil vrácenou hodnotu np.diff() funkce.
  • Prošli jsme polem 'X' ve funkci.
  • Nakonec jsme zkusili vytisknout hodnotu 'a' .

Ve výstupu ukazuje diskrétní rozdíly mezi daty.