Numpy Sukurti 2D masyvą

Numpy Sukurti 2d Masyva



Dvimatis Numpy masyvas apibrėžiamas iš python sąrašų sąrašo. Kaip ir vieno dimensijos Numpy masyvas, visi masyvo elementai turi būti vieno tipo. Jei NumPy masyvas deklaruojamas su kelių tipų sąrašais, įvyks tipo prievarta ir visos reikšmės bus konvertuojamos į vieną tipą. Tipo prievarta yra ta, kai duomenų tipai konvertuojami iš vieno į kitą, tai yra numanoma arba automatinė. Dvimačiuose masyvuose matmenys gali būti daugiau nei du.

Paprastais žodžiais tariant, galime apibrėžti dvimatį masyvą kaip masyvą kitame masyve. Jo indeksas prasideda „0“ ir baigiasi masyvo dydžiu „-1“. Masyvai masyve gali būti sudaryti n kartų. Dvimatis masyvas gali keisti dydį tiek vertikaliai, tiek horizontaliai, abiem kryptimis.

Sintaksė

Masyvo deklaravimo sintaksė yra tokia:







masyvo_pavadinimas = [ r_arr ] [ c_arr ]

masyvo_pavadinimas yra masyvo, kurį norime sukurti, pavadinimas. Tuo tarpu „r_arr“ yra masyvo eilutės, o „c_arr“ yra masyvo stulpelis. Ši sintaksė leidžia mums sukurti atminties vietą, kurioje bus saugomas masyvas, arba galime pasakyti, kad atminties vieta gali būti rezervuota masyvei.



Yra ir kitas būdas deklaruoti 2D masyvą:



masyvo_pavadinimas = [ [ R1C1 , R1C2 , R1C3 , ... ] , [ R2C2 , R2C2 , R2C3 , ... ] , . . .. ]

Aukščiau pateiktoje sintaksėje masyvo pavadinimas yra masyvo pavadinimas, kur „R1C1“, „R2C1“, … n yra masyvo elementai, kur „R“ žymi eilutes, o „c“ – stulpelius. Kaip matome pirmuosiuose laužtiniuose skliaustuose, eilučių skaičius keičiasi, kol stulpeliai yra vienodi. Taip yra todėl, kad masyve apibrėžiame stulpelius naudodami kelis masyvus, o eilutės yra apibrėžtos vidinių masyvų viduje.





01 pavyzdys: dvimačio masyvo kūrimas

Pateiksime praktinį dvimačio masyvo kūrimo pavyzdį ir geriau suprasime, kaip sukuriamas dvimatis masyvas. Norėdami sukurti 2D masyvą, pirmiausia importuosime savo NumPy biblioteką, kuri leis mums įdiegti kai kuriuos paketus, kuriuos NumPy mums teikia kuriant masyvą. Tada inicijuosime kintamąjį, kuriame yra dvimatis masyvas, kad sukurtume masyvą. Perduosime np.array() funkciją, kuri leidžia mums dviem sukurti bet kokio tipo masyvą, nesvarbu, ar tai 1D, 2D ar pan. Šiai funkcijai perduosime kelis šio masyvo masyvus, kurie leis mums sukurti dvimatį masyvą.

Kaip matome toliau pateiktoje ekrano kopijoje, antroje eilutėje tai funkcijai perdavėme tris masyvus, o tai reiškia, kad turime tris eilutes, o tuose masyvuose kiekvienam perdavėme 6 elementus, o tai reiškia, kad yra 6 stulpeliai. Vienas dalykas, kurį reikia pastebėti, yra tai, kad mes visada perduodame elementus laužtiniuose skliaustuose, o tai reiškia, kad perduodame masyvo elementus ir matome, kad viename masyve perdavėme kelis masyvus.



importuoti nelygus kaip pvz.

masyvas = pvz. masyvas ( [ [ 1 , du , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , vienuolika , 12 ] ] )

spausdinti ( masyvas )

Galų gale mes atspausdinome masyvą naudodami spausdinimo teiginį. Kaip parodyta žemiau esančioje ekrano kopijoje, matome, kad rodomas masyvas, kuriame yra 3 eilutės ir 6 stulpeliai.

Pavyzdys # 02: Prieiga prie reikšmių

Kai tyrinėjome 2D masyvo kūrimo metodą, mūsų mintyse turėjo spustelėti vienas dalykas: kaip galime pasiekti 2D masyvo elementus? Nors prieiga prie 2D masyvo elemento nėra didelė problema. Numpy leidžia manipuliuoti masyvų elementais naudojant paprastą kodo eilutę, kuri yra:

Masyvas [ eilutės indeksas ] [ stulpelio indeksas ]

Masyvas yra masyvo, iš kurio turime pasiekti arba gauti duomenis, pavadinimas, kur eilutės indeksas yra eilutės atminties vieta. O stulpelio indeksas yra stulpelio, kurį reikia pasiekti, vieta, tarkime, kad turime pasiekti indekso „2“ eilutės elementą ir indekso „0“ stulpelio elementą.

Kaip matome toliau pateiktame paveikslėlyje, pirmiausia importavome NumPy biblioteką, kad galėtume pasiekti NumPy paketus. Tada paskelbėme kintamojo pavadinimą „masyvas“, kuriame yra 2D masyvas, ir tada perdavėme jam reikšmes, kurias norime jame išsaugoti. Pirmiausia parodėme masyvą tokį, koks jis yra, kurį inicijavome. Tada mes perdavėme masyvą su indeksu į mūsų print() sakinį, kuriame bus rodomas visas masyvas, saugomas indeksu '2'. Kitoje kodo eilutėje mes vėl perdavėme masyvą su dviem indeksais į print() sakinį. Pirmasis yra masyvo eilutė, o antrasis yra masyvo stulpelis, kuris yra „0“ ir „2“.

importuoti nelygus kaip pvz.

masyvas = pvz. masyvas ( [ [ 1 , du , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , vienuolika , 12 ] ] )

spausdinti ( 'Masyvo ekranas:' , masyvas )

spausdinti ( 'Rodyti antrą eilutę:' , masyvas [ du ] )

spausdinti ( „Rodyti pirmosios eilutės ir 2 stulpelių elementą:“ , masyvas [ 0 ] [ du ] )

Ši išvestis grąžinama, kai kodo kompiliatorius spausdina masyvą tokį, koks jis yra. Tada antra eilutė pagal kodą. Galiausiai, kompiliatorius grąžina elementą, kuris saugomas indeksu „0“ eilutėms ir indeksu „2“ stulpeliui.

03 pavyzdys: reikšmių atnaujinimas

Jau aptarėme metodiką, kaip galime sukurti arba pasiekti duomenis ar elementus 2D masyve, tačiau kai turime pakeisti masyvo elementus, galime tiesiog naudoti metodą, kurį suteikia NumPy paketai, leidžiantys mums. norėdami atnaujinti norimą reikšmę masyve.

Norėdami atnaujinti vertę, naudojame:

masyvas [ row_index ] [ stulpelio_indeksas ] = [ vertybes ]

Aukščiau pateiktoje sintaksėje masyvas yra masyvo pavadinimas. Eilučių indeksas yra vieta arba vieta, kurią redaguosime. Stulpelio indeksas yra stulpelio, kuriame reikšmė atnaujinama, vieta, kur vertė yra ta, kurią reikia pridėti prie norimo indekso.

Kaip matome, pirmiausia importuojame savo NumPy biblioteką. Tada paskelbė 3 × 6 dydžio masyvą ir perdavė jo sveikąsias reikšmes. Tada masyvei perdavėme reikšmę „21“, o tai reiškia, kad norime išsaugoti reikšmę „21“ masyve ties „0“ eilutėje ir „2“ stulpelyje, o tai reiškia, kad norime ją išsaugoti indekse. pirmos eilės ir 3 rd masyvo stulpelis. Tada atspausdinkite abu masyvus, pradinį ir elementą, kurį išsaugojome masyve.

importuoti nelygus kaip pvz.

masyvas = pvz. masyvas ( [ [ 1 , du , 3 , 4 , 5 , 6 ] , [ 4 , 5 , 6 , 7 , 8 , 9 ] , [ 7 , 8 , 9 , 10 , vienuolika , 12 ] ] )

masyvas [ 0 ] [ du ] = dvidešimt vienas

spausdinti ( 'Masyvo ekranas:' , masyvas )

spausdinti ( „Rodyti pirmosios eilutės ir 2 stulpelių elementą:“ , masyvas [ 0 ] [ du ] )

Kaip parodyta toliau, reikšmė sėkmingai atnaujinama masyve tiesiog pridedant paprastą kodo eilutę, kurią pateikia „NumPy“ paketas.

Išvada

Šiame straipsnyje paaiškinome skirtingus būdus, kaip sukurti dvimačius masyvus ir kaip galime jais manipuliuoti naudodami įtaisytąsias „NumPy“ funkcijas. Aptarėme, kaip galime pasiekti masyvo elementus ir juos atnaujinti. „Numpy“ leidžia kurti ir valdyti daugiamačius masyvus naudojant vieną kodo eilutę. Numpy masyvai yra aiškesni ir efektyvesni nei python sąrašai.