U Pythonu, u nekim slučajevima, trebamo jednodimenzionalni niz, a ne 2-D ili višedimenzionalni niz. U tu svrhu modul numpy pruža funkciju tzv numpy.ndarray.flatten(), koji vraća kopiju polja u jednoj dimenziji, a ne u 2-D ili višedimenzionalnom polju.
Sintaksa
ndarray.flatten(order='C')
Parametri:
poredak: {'C', 'F', 'A', 'K'}(izborno)
Ako parametar reda postavimo na 'C', to znači da se niz spljoštava u redoslijedu glavnih redova. Ako je postavljeno 'F', polje se izravnava u redoslijedu glavnih stupaca. Niz je spljošten u glavnom redoslijedu stupaca samo kada je 'a' Fortran susjedan u memoriji i kada postavimo parametar reda na 'A'. Posljednji redoslijed je 'K', koji poravnava niz istim redoslijedom u kojem su se elementi pojavili u memoriji. Prema zadanim postavkama, ovaj je parametar postavljen na 'C'.
Povratak:
y: ndarray
Ova funkcija vraća kopiju izvornog polja, koje se spljošti u jednodimenzionalno.
apstraktna klasa
Primjer 1:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten() b
Izlaz:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
U gornjem kodu
- Uvezli smo numpy s alias imenom np.
- Stvorili smo višedimenzionalni niz 'a' pomoću niz() funkcija.
- Deklarirali smo varijablu 'b' i dodijelili vraćenu vrijednost od izravnati() funkcija.
- Na kraju, pokušali smo ispisati vrijednost 'b' .
U izlazu prikazuje ndarray koji sadrži elemente višedimenzionalnog niza u 1-D.
Primjer 2:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('C') b
Izlaz:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
U gornjem kodu
- Uvezli smo numpy s alias imenom np.
- Stvorili smo višedimenzionalni niz 'a' pomoću niz() funkcija.
- Deklarirali smo varijablu 'b' i dodijelili vraćenu vrijednost od izravnati() funkcija.
- Koristili smo 'C' redoslijed u funkciji.
- Na kraju, pokušali smo ispisati vrijednost 'b' .
U izlazu prikazuje ndarray koji sadrži elemente višedimenzionalnog niza u 1-D.
Primjer 3:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('F') b
Izlaz:
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
Primjer 4:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('A') b
Izlaz:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])
Primjer 5:
import numpy as np a = np.array([[1,4,7], [2,5,8],[3,6,9]]) b=a.flatten('K') b
Izlaz:
array([1, 4, 7, 2, 5, 8, 3, 6, 9])