V Pythonu v některých případech potřebujeme jednorozměrné pole spíše než 2D nebo vícerozměrné pole. Pro tento účel poskytuje numpy modul funkci tzv numpy.ndarray.flatten(), který vrací kopii pole v jednorozměrném spíše než ve 2D nebo vícerozměrném poli.
Syntax
ndarray.flatten(order='C')
Parametry:
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 sloupců-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í:
y: ndarray
Tato funkce vrací kopii zdrojového pole, které se sloučí do jednorozměrné podoby.
urfi javed
Příklad 1:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten() b
Výstup:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
Ve výše uvedeném kódu
- Importovali jsme numpy s aliasem np.
- Vytvořili jsme vícerozměrné pole 'a' pomocí pole() funkce.
- Deklarovali jsme proměnnou 'b' a přiřadili vrácenou hodnotu zploštit() funkce.
- Nakonec jsme zkusili vytisknout hodnotu 'b' .
Ve výstupu ukazuje ndarray, který obsahuje prvky vícerozměrného pole do 1-D.
Příklad 2:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('C') b
Výstup:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
Ve výše uvedeném kódu
- Importovali jsme numpy s aliasem np.
- Vytvořili jsme vícerozměrné pole 'a' pomocí pole() funkce.
- Deklarovali jsme proměnnou 'b' a přiřadili vrácenou hodnotu zploštit() funkce.
- Ve funkci jsme použili pořadí 'C'.
- Nakonec jsme zkusili vytisknout hodnotu 'b' .
Ve výstupu ukazuje ndarray, který obsahuje prvky vícerozměrného pole do 1-D.
Příklad 3:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('F') b
Výstup:
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
Příklad 4:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('A') b
Výstup:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
Příklad 5:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('K') b
Výstup:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])