Numpy modul Pythonu poskytuje funkciu s názvom numpy.ravel, ktorá sa používa na zmenu 2-rozmerného poľa alebo viacrozmerného poľa na súvislé sploštené pole. Vrátené pole má rovnaký typ údajov ako zdrojové pole alebo vstupné pole. Ak je vstupné pole maskované pole, vrátené pole bude tiež maskované pole.
Syntax:
numpy.ravel(x, order='C')
Parametre:
x: pole_like
Tento parameter definuje vstupné pole, ktoré chceme zmeniť v súvislom sploštenom poli. Prvky poľa sa čítajú v poradí špecifikovanom parametrom order a zbalia sa ako 1-D pole.
poradie: {'C','F', 'A', 'K'} (voliteľné)
Ak nastavíme parameter order na 'C', znamená to, že pole sa vyrovná v poradí podľa hlavného riadka. Ak je nastavené 'F', pole sa vyrovná v poradí podľa stĺpcov. Pole je sploštené v poradí podľa stĺpca-major iba vtedy, keď je „A“ v pamäti súvislé Fortran a keď nastavíme parameter poradia na „A“. Posledné poradie je 'K', ktoré vyrovnáva pole v rovnakom poradí, v akom sa prvky vyskytli v pamäti. Štandardne je tento parameter nastavený na „C“.
Vrátenie:
Táto funkcia vracia súvislé sploštené pole s rovnakým typom údajov ako vstupné pole a má tvar rovný ( x.veľkosť ).
Príklad 1:
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y
Výkon:
array([ 1, 3, 5, 11, 35, 56])
Vo vyššie uvedenom kóde
- Importovali sme numpy s aliasom np.
- Vytvorili sme pole 'X' pomocou funkcie np.array().
- Deklarovali sme premennú y a priradili vrátenú hodnotu funkcie np.ravel().
- Prešli sme pole 'X' vo funkcii.
- Nakoniec sme sa pokúsili vytlačiť hodnotu a .
Vo výstupe sú hodnoty poľa zobrazené v súvislom sploštenom poli.
Prí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ýkon:
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])
Prí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ýkon:
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])
Vo vyššie uvedenom kóde
- Importovali sme numpy s aliasom np.
- Vytvorili sme pole 'X' pomocou funkcie np.arange().
- Zmenili sme jeho tvar a vymenili os pomocou zmeniť tvar () a np.swapaxes() funkciu.
- Deklarovali sme premenné y, z a q a priradili vrátenú hodnotu funkcie np.ravel().
- Prešli sme pole 'X' a poriadok C , K , a A vo funkcii.
- Nakoniec sme sa pokúsili vytlačiť hodnotu a .
Vo výstupe sú hodnoty poľa zobrazené v súvislom sploštenom poli.