Python modulis numpy suteikia funkciją, vadinamą numpy.ravel, kuri naudojama pakeisti dvimatį masyvą arba daugiamatį masyvą į gretimą išlygintą masyvą. Grąžintas masyvas turi tą patį duomenų tipą kaip ir šaltinio masyvas arba įvesties masyvas. Jei įvesties masyvas yra užmaskuotas masyvas, grąžintas masyvas taip pat bus užmaskuotas.
Sintaksė:
numpy.ravel(x, order='C')
Parametrai:
x: panašus į masyvą
Šis parametras apibrėžia įvesties masyvą, kurį norime pakeisti gretimame išlygintame masyve. Masyvo elementai nuskaitomi tvarka, nurodyta užsakymo parametre, ir supakuojami kaip 1-D masyvas.
tvarka: {'C', 'F', 'A', 'K'} (pasirenkama)
Jei užsakymo parametrą nustatome į 'C', tai reiškia, kad masyvas bus išlygintas pagrindine eilės tvarka. Jei nustatytas „F“, masyvas išlyginamas didžiąja stulpelio tvarka. Masyvas išlyginamas didžiąja stulpelio tvarka tik tada, kai „A“ yra Fortran gretimas atmintyje ir kai nustatome eilės parametrą į „A“. Paskutinė tvarka yra „K“, kuri išlygina masyvą ta pačia tvarka, kuria elementai atsirado atmintyje. Pagal numatytuosius nustatymus šis parametras nustatytas į „C“.
Grąžinimai:
Ši funkcija grąžina gretimą išlygintą masyvą su tuo pačiu duomenų tipu kaip ir įvesties masyvas, kurio forma lygi ( x.dydis ).
1 pavyzdys:
import numpy as np x = np.array([[1, 3, 5], [11, 35, 56]]) y=np.ravel(x) y
Išvestis:
array([ 1, 3, 5, 11, 35, 56])
Aukščiau pateiktame kode
- Mes importavome numpy su slapyvardžiu np.
- Mes sukūrėme masyvą 'x' naudojant np.array() funkciją.
- Mes deklaravome kintamąjį y ir priskyrėme grąžintą funkcijos np.ravel() reikšmę.
- Mes praėjome masyvą 'x' funkcijoje.
- Galiausiai bandėme atspausdinti vertę ir .
Išvestyje masyvo reikšmės rodomos gretimame išlygintame masyve.
2 pavyzdys:
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
Išvestis:
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 pavyzdys:
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
Išvestis:
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])
Aukščiau pateiktame kode
- Mes importavome numpy su slapyvardžiu np.
- Mes sukūrėme masyvą 'x' naudojant np.arange() funkciją.
- Mes pakeitėme jo formą ir sukeitėme ašį naudodami pertvarkyti () ir np.swapaxes() funkcija.
- Mes deklaravome kintamuosius y, z ir q ir priskyrėme grąžintą funkcijos np.ravel() reikšmę.
- Mes praėjome masyvą 'x' ir tvarka C , K , ir A funkcijoje.
- Galiausiai bandėme atspausdinti vertę ir .
Išvestyje masyvo reikšmės rodomos gretimame išlygintame masyve.