Modul numpy u Pythonu pruža funkciju zvanu numpy.ravel, koja se koristi za promjenu dvodimenzionalnog niza ili višedimenzionalnog niza u kontinuirano spljošteno polje. Vraćeni niz ima isti tip podataka kao izvorni niz ili ulazni niz. Ako je ulazni niz maskirani niz, vraćeni niz će također biti maskirani niz.
Sintaksa:
numpy.ravel(x, order='C')
Parametri:
x: sličan_nizu
Ovaj parametar definira ulazni niz koji želimo promijeniti u kontinuirani spljošteni niz. Elementi polja čitaju se redoslijedom navedenim parametrom naloga i pakiraju se kao 1-D polje.
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 redoslijedu glavnih stupaca samo kada je 'A' Fortran kontinualan 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:
Ova funkcija vraća kontinuirano spljošteno polje s istim tipom podataka kao ulazni niz i ima oblik jednak ( x.veličina ).
Primjer 1:
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y
Izlaz:
array([ 1, 3, 5, 11, 35, 56])
U gornjem kodu
- Uvezli smo numpy s alias imenom np.
- Napravili smo niz 'x' pomoću funkcije np.array().
- Deklarirali smo varijablu y i dodijelili vraćenu vrijednost funkcije np.ravel().
- Prošli smo niz 'x' u funkciji.
- Na kraju, pokušali smo ispisati vrijednost i .
U izlazu, vrijednosti niza prikazane su u neprekidnom spljoštenom nizu.
Primjer 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
Izlaz:
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])
Primjer 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
Izlaz:
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])
U gornjem kodu
- Uvezli smo numpy s alias imenom np.
- Napravili smo niz 'x' pomoću funkcije np.arange().
- Promijenili smo mu oblik i zamijenili os pomoću preoblikovati() i np.swapaxes() funkcija.
- Deklarirali smo varijable y, z i q i dodijelili vraćenu vrijednost funkcije np.ravel().
- Prošli smo niz 'x' i reda C , K , i A u funkciji.
- Na kraju, pokušali smo ispisati vrijednost i .
U izlazu, vrijednosti niza prikazane su u neprekidnom spljoštenom nizu.