A Python numpy modulja egy numpy.ravel nevű függvényt biztosít, amely egy 2-dimenziós vagy többdimenziós tömb összefüggő lapított tömbbé alakítására szolgál. A visszaadott tömb ugyanazzal az adattípussal rendelkezik, mint a forrástömb vagy a bemeneti tömb. Ha a bemeneti tömb maszkolt tömb, a visszaadott tömb is maszkolt tömb lesz.
Szintaxis:
numpy.ravel(x, order='C')
Paraméterek:
x: array_like
Ez a paraméter határozza meg a bemeneti tömböt, amelyet egy összefüggő lapított tömbben szeretnénk megváltoztatni. A tömbelemek beolvasása az order paraméterben megadott sorrendben történik, és 1-D tömbbe csomagolják.
sorrend: {'C', 'F', 'A', 'K'} (opcionális)
Ha a sorrend paramétert 'C'-re állítjuk, az azt jelenti, hogy a tömb sor-fősorrendben laposodik. Ha az 'F' be van állítva, a tömb oszlop-fősorrendben lesz lapítva. A tömb csak akkor laposodik oszlopfő sorrendben, ha az 'A' a Fortran szomszédos a memóriában, és ha a sorrend paramétert 'A'-ra állítjuk. Az utolsó sorrend a „K”, amely a tömböt abban a sorrendben simítja ki, amelyben az elemek a memóriában előfordultak. Alapértelmezés szerint ez a paraméter 'C'.
Visszaküldés:
Ez a függvény egy összefüggő összelapított tömböt ad vissza ugyanolyan adattípussal, mint egy bemeneti tömb, és alakja egyenlő ( x.size ).
1. példa:
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y
Kimenet:
array([ 1, 3, 5, 11, 35, 56])
A fenti kódban
- Importáltuk a numpy-t np aliasnévvel.
- Létrehoztunk egy tömböt 'x' np.array() függvény használatával.
- Deklaráltuk az y változót, és hozzárendeltük az np.ravel() függvény visszaadott értékét.
- 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 tömb értékei egy összefüggő lapított tömbben jelennek meg.
2. példa:
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
Kimenet:
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])
3. példa:
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
Kimenet:
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])
A fenti kódban
- Importáltuk a numpy-t np aliasnévvel.
- Létrehoztunk egy tömböt 'x' np.arange() függvény használatával.
- Megváltoztattuk az alakját és felcseréltük a tengelyt a átformálni() és np.swapaxes() funkció.
- Deklaráltuk az y, z és q változókat, és hozzárendeltük az np.ravel() függvény visszaadott értékét.
- Túljutottunk a tömbön 'x' és rendelj C , K , és A a függvényben.
- Végül megpróbáltuk kinyomtatni az értékét és .
A kimenetben a tömb értékei egy összefüggő lapított tömbben jelennek meg.