Transponere en matrise

Transponere en matrise
I Python har en matrise rader og kolonner. Vi kan lage matrisen på forskjellige måter, men den enkle metoden bruker listen som vist:

Matrix = [[1, 2, 4], [31, 17, 15]]

Listen inne i listen over er en rad, og hvert element inne i listen kalles en kolonne. Så i eksemplet ovenfor har vi to rader og tre kolonner [2 x 3].

Og også indeksering av pyton starter fra null.

Transponering av en matrise betyr hvor vi endrer radene til kolonner eller kolonner til rader.

La oss diskutere forskjellige typer metoder for å gjøre Matrix Transpose.

Metode 1: Transpose en numpy matrise transponere ()

Den første metoden vi skal diskutere er Numpy. Numpy handler stort sett med matrisen i Python, og for transponering kalte vi metoden transponerer ().

I cellenummer [24]: Vi importerer modulen Numpy som NP.

I cellenummer [25]: Vi oppretter en numpy matrise med navnet ARR_MATRIX.

I cellenummer [26]: Vi kaller metoden transpose () og bruker prikkoperatøren med arr_matrix vi opprettet før.

I cellenummer [27]: Vi skriver ut den originale matrisen (arr_matrix).

I cellenummer [28]: Vi skriver ut transponeringsmatrisen (arr_transpose), og fra resultatene fant vi ut at matrisen vår nå er transponert.

Metode 2: Bruke metoden numpy.Transpose ()

Vi kan også transponere en matrise i Python ved hjelp av Numpy.Transpose (). I det passerer vi matrisen inn i transpose () -metoden som en parameter.

I cellenummer [29] lager vi en matrise ved hjelp av en numpy matrise med navnet Arr_matrix.

I cellenummer [30]: Vi passerte ARR_MATRIX til Transpose () -metoden og lagrer resultatene tilbake til en ny variabel ARR_TRANSPOSE.

I cellenummer [31]: Vi skriver ut den originale matrisen (ARR_MATRIX).

I cellenummer [32]: Vi skriver ut transponeringsmatrisen (arr_transpose), og fra resultatene fant vi ut at matrisen vår nå er transponert.

Metode 3: Matrix Transpose ved bruk av Sympy Library

Et symbibliotek er en annen tilnærming som hjelper oss å transponere en matrise. Dette biblioteket bruker symbolsk matematikk for å løse problemene med algebra.

I cellenummer [33]: Vi importerer Sympy -biblioteket. Det kommer ikke sammen med Python, så du må installere det eksplisitt til systemet ditt før du bruker dette biblioteket; Ellers vil du få feil.

I cellenummer [34]: Vi oppretter en matrise ved hjelp av Sympy Library.

I cellenummer [35]: Vi kaller transponering (t) med prikkoperatøren og lagrer resultatene tilbake til en ny variabel sympy_transpose.

I cellenummer [36]: Vi skriver ut den originale matrisen (matrise).

I cellenummer [37]: Vi skriver ut transponeringsmatrisen (Sympy_transpose), og fra resultatene fant vi ut at matrisen vår nå er transponert.

Metode 4: Matrix transponerer ved bruk av nestet sløyfe

Matrisen transponerer uten noe bibliotek i Python er en nestet sløyfe. Vi oppretter en matrise og oppretter deretter en annen matrise av samme størrelse som den originale matrisen for å lagre resultatene tilbake etter transponering. Vi gjør ikke en hard kode for resultatmatrisen fordi vi ikke vet dimensjonen til matrisen i fremtiden. Så vi oppretter resultatmatriksstørrelsen ved å bruke selve den opprinnelige matrisestørrelsen.

I cellenummer [38]: Vi oppretter en matrise og skriver ut den matrisen.

I cellenummer [39]: Vi bruker noen pytoniske måter å finne ut dimensjonen til transponeringsmatrisen ved å bruke den originale matrisen. For hvis vi ikke gjør dette, må vi nevne dimensjonen til transponeringsmatrisen. Men med denne metoden bryr vi oss ikke om matrisenes dimensjoner.

I cellenummer [40]: Vi kjører to løkker. En øvre sløyfe er for radene og den nestede sløyfen for kolonnemessig.

I cellenummer [41]: Vi skriver ut den originale matrisen (matrise).

I cellenummer [42]: Vi skriver ut transponeringsmatrisen (trans_matrix), og fra resultatene fant vi ut at matrisen vår nå er transponert.

Metode 5: Bruke listeforståelsen

Den neste metoden som vi skal diskutere er listeforståelsesmetoden. Denne metoden ligner på den normale pytonen ved bruk av nestede løkker, men på en mer pytonisk måte. Vi kan si at vi har en mer avansert måte å løse matrisen transponerer i en enkelt kodelinje uten å bruke et bibliotek.

I cellenummer [43]: Vi oppretter en matrise M ved hjelp av den nestede listen.

I cellenummer [44]: Vi bruker den nestede sløyfen som vi diskuterer i forrige, men her i en enkelt linje og heller ikke trenger å nevne motsatt indeks [J] [i], som vi gjorde i forrige nestede sløyfe.

I cellenummer [45]: Vi skriver ut den originale matrisen (m).

I cellenummer [42]: Vi skriver ut transponeringsmatrisen (trans_m), og fra resultatene fant vi ut at matrisen vår nå er transponert.

Metode 6: Transponer en matrise ved bruk av pymatrix

Pymatrix er et annet lett bibliotek for matriseoperasjoner i Python. Vi kan også gjøre transponering ved hjelp av pymatrix.

I cellenummer [43]: Vi importerer Pymatrix -biblioteket. Det kommer ikke sammen med Python, så du må installere det eksplisitt til systemet ditt før du bruker dette biblioteket; Ellers vil du få feil.

I cellenummer [44]: Vi oppretter en matrise ved hjelp av Pymatrix -biblioteket.

I cellenummer [45]: Vi kaller transponering (trans ()) med prikkoperatøren og lagrer resultatene tilbake til en ny variabel pymatrix_transpose.

I cellenummer [46]: Vi skriver ut den originale matrisen (matrise).

I cellenummer [47]: Vi skriver ut transponeringsmatrisen (Pymatrix_transpose), og fra resultatene fant vi at matrisen vår nå er transponert.

Metode 7: Bruke zip -metoden

Zip er en annen metode for å transponere en matrise.

I cellenummer [63]: Vi opprettet en ny matrise ved hjelp av listen.

I cellenummer [64]: Vi passerte matrisen til glidelåsen med * operatøren. Vi ringer hver rad og konverterer den raden til en ny liste som blir matrisens transponering.

Konklusjon: Vi har sett forskjellige typer metoder som kan hjelpe oss i Matrix Transpose. Der noen av metodene bruker numpy matrise og liste. Vi har sett at det er veldig enkelt å lage matrisen ved hjelp av den nestede listen. Vi har også sett noen nye biblioteker som Pymatrix og Sympy. I denne artikkelen prøver vi å nevne alle transponeringsmetodene som programmereren bruker.