A Pythonban bizonyos esetekben egydimenziós tömbre van szükségünk 2D vagy többdimenziós tömb helyett. Erre a célra a numpy modul egy ún numpy.ndarray.flatten(), amely a tömb egydimenziós másolatát adja vissza, nem pedig 2D-ben vagy többdimenziós tömbben.
Szintaxis
ndarray.flatten(order='C')
Paraméterek:
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 lapításra kerül. 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:
y: ndarray
Ez a függvény a forrástömb egy másolatát adja vissza, amely egydimenzióssá válik.
teáskanál vs evőkanál
1. példa:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten() b
Kimenet:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
A fenti kódban
- Importáltuk a numpy-t np aliasnévvel.
- Létrehoztunk egy többdimenziós „a” tömböt a segítségével sor() funkció.
- Deklaráltuk a 'b' változót, és hozzárendeltük a visszaadott értékét lelapul() funkció.
- Végül megpróbáltuk kinyomtatni az értékét 'b' .
A kimenetben egy ndarray-t mutat, amely a többdimenziós tömb elemeit tartalmazza 1-D-ben.
2. példa:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('C') b
Kimenet:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
A fenti kódban
- Importáltuk a numpy-t np aliasnévvel.
- Létrehoztunk egy többdimenziós „a” tömböt a segítségével sor() funkció.
- Deklaráltuk a 'b' változót, és hozzárendeltük a visszaadott értékét lelapul() funkció.
- A függvényben 'C' sorrendet használtunk.
- Végül megpróbáltuk kinyomtatni az értékét 'b' .
A kimenetben egy ndarray-t mutat, amely a többdimenziós tömb elemeit tartalmazza 1-D-ben.
3. példa:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('F') b
Kimenet:
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
4. példa:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('A') b
Kimenet:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
5. példa:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('K') b
Kimenet:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])