logo

numpy.ravel() v Pythonu

Numpy modul Pythonu poskytuje funkci nazvanou numpy.ravel, která se používá ke změně 2-rozměrného pole nebo vícerozměrného pole na souvislé zploštělé pole. Vrácené pole má stejný datový typ jako zdrojové pole nebo vstupní pole. Pokud je vstupní pole maskované pole, vrácené pole bude také maskované pole.

Syntax:

 numpy.ravel(x, order='C') 

Parametry:

x: array_like

Tento parametr definuje vstupní pole, které chceme změnit v souvislé zploštělé pole. Prvky pole jsou čteny v pořadí určeném parametrem order a zabaleny jako 1-D pole.

pořadí: {'C','F', 'A', 'K'} (volitelné)

Pokud nastavíme parametr order na 'C', znamená to, že pole se zplošťuje v pořadí hlavní řádek. Pokud je nastaveno 'F', pole se sloučí v pořadí podle sloupců. Pole je zploštěno v pořadí podle sloupce-major pouze tehdy, když je 'A' v paměti souvislé ve Fortranu a když parametr order nastavíme na 'A'. Poslední řád je 'K', který srovná pole ve stejném pořadí, v jakém se prvky vyskytly v paměti. Ve výchozím nastavení je tento parametr nastaven na 'C'.

Vrácení:

Tato funkce vrací souvislé sloučené pole se stejným datovým typem jako vstupní pole a má tvar rovný ( x.velikost ).

Příklad 1:

 import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y 

Výstup:

 array([ 1, 3, 5, 11, 35, 56]) 

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Vytvořili jsme pole 'X' pomocí funkce np.array().
  • Deklarovali jsme proměnnou y a přiřadili vrácenou hodnotu funkce np.ravel().
  • Prošli jsme polem 'X' ve funkci.
  • Nakonec jsme zkusili vytisknout hodnotu a .

Ve výstupu jsou hodnoty pole zobrazeny v souvislém zploštělém poli.

Příklad 2:

 import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y = np.ravel(x, order='F') z = np.ravel(x, order='C') p = np.ravel(x, order='A') q = np.ravel(x, order='K') y z p q 

Výstup:

 array([ 1, 11, 3, 35, 5, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56]) array([ 1, 3, 5, 11, 35, 56]) 

Příklad 3:

 import numpy as np x = np.arange(12).reshape(3,2,2).swapaxes(1,2) x y=np.ravel(a, order='C') y z=np.ravel(a, order='K') z q=np.ravel(a, order='A') q 

Výstup:

 array([[[ 0, 2], [ 1, 3]], [[ 4, 6], [ 5, 7]], [[ 8, 10], [ 9, 11]]]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11]) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) array([ 0, 2, 1, 3, 4, 6, 5, 7, 8, 10, 9, 11]) 

Ve výše uvedeném kódu

  • Importovali jsme numpy s aliasem np.
  • Vytvořili jsme pole 'X' pomocí funkce np.arange().
  • Změnili jsme jeho tvar a zaměnili osu pomocí přetvořit () a np.swapaxes() funkce.
  • Deklarovali jsme proměnné y, z a q a přiřadili vrácenou hodnotu funkce np.ravel().
  • Prošli jsme polem 'X' a objednat C , K , a A ve funkci.
  • Nakonec jsme zkusili vytisknout hodnotu a .

Ve výstupu jsou hodnoty pole zobrazeny v souvislém zploštělém poli.