Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Omforming av Matriser | Vanlig Brukte NumPy-funksjoner
Ultimate NumPy

bookOmforming av Matriser

Omforming av matriser i NumPy gjør det mulig å endre formen på en matrise uten å miste noen elementer. Dette er en ofte brukt operasjon innen maskinlæring, siden mange funksjoner og metoder i maskinlæringsbiblioteker krever at matriser har en bestemt form.

Matrisestrukturer

Note
Definisjon

Formen til en NumPy-matrise er en tuple som angir antall elementer langs hver dimensjon (akse).

For eksempel har et 1D-array med lengde 5 formen (5,), mens et 2D-array med 3 rader og 4 kolonner har formen (3, 4):

1234
import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
copy

ndarray.reshape()

NumPy-arrayer har en .reshape()-metode for omforming. Det er kun nødvendig å angi formen til det resulterende arrayet enten som et heltall, en tuple av heltall, eller heltall som separate argumenter.

Denne metoden endrer ikke arrayet in place, men returnerer et nytt array.

Note
Merk

Faktisk returnerer .reshape() en visning av den opprinnelige arrayen, slik at eventuelle endringer gjort i den omformede arrayen også vil påvirke den opprinnelige arrayen.

123456789
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
copy
Note
Merk

Antall elementer i den omformede arrayen må være det samme som i den opprinnelige arrayen, så du kan ikke angi en vilkårlig form.

I vårt eksempel gir omforming av arrayen til en form med 3 rader og 4 kolonner (3x4) eller til en form med 2 blokker, hver med 2 rader og 3 kolonner (2x2x3) fortsatt totalt 12 elementer.

Omforming med -1

I NumPy, når du bruker -1 i .reshape()-metoden, beregnes størrelsen på denne dimensjonen automatisk basert på størrelsen til den opprinnelige arrayen, samtidig som det totale antallet elementer forblir det samme.

Å bruke .reshape(-1, 1) er spesielt nyttig innen maskinlæring når vi må omforme en 1D-array til en 2D-array med én kolonne. Antall rader i dette tilfellet tilsvarer antall elementer (beregnes automatisk).

123456
import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
copy

Den omformede arrayen lagres som en 2D-array med 5 rader og 1 kolonne, med formen (5, 1). Til sammenligning har den opprinnelige 1D-arrayen formen (5,), som er en tuple med ett element. For enhver 1D-array er formen alltid (n,), hvor n representerer antall elementer.

numpy.reshape()

Funksjonen reshape() i NumPy er identisk med .reshape()-metoden, men du må sende inn en array som første argument. For parameteren shape kan du sende inn enten en tuple av heltall eller et enkelt heltall, for eksempel np.reshape(array, (3, 4)):

123456
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
copy
Oppgave

Swipe to start coding

Du har et sales_data_2021-array med simulert kvartalsvis salgsdata for to produkter i 2021. De første 4 elementene representerer kvartalssalget for det første produktet, og de siste 4 elementene representerer kvartalssalget for det andre produktet.

  1. Bruk riktig metode for sales_data_2021 for å endre formen til et 2D-array.
  2. Den første raden skal inneholde kvartalssalget for det første produktet.
  3. Den andre raden skal inneholde kvartalssalget for det andre produktet.

Løsning

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
single

single

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

Can you explain the difference between using .reshape() and np.reshape()?

What happens if I try to reshape an array to a shape that doesn't match the total number of elements?

Can you give more examples of reshaping arrays with different dimensions?

close

Awesome!

Completion rate improved to 3.7

bookOmforming av Matriser

Sveip for å vise menyen

Omforming av matriser i NumPy gjør det mulig å endre formen på en matrise uten å miste noen elementer. Dette er en ofte brukt operasjon innen maskinlæring, siden mange funksjoner og metoder i maskinlæringsbiblioteker krever at matriser har en bestemt form.

Matrisestrukturer

Note
Definisjon

Formen til en NumPy-matrise er en tuple som angir antall elementer langs hver dimensjon (akse).

For eksempel har et 1D-array med lengde 5 formen (5,), mens et 2D-array med 3 rader og 4 kolonner har formen (3, 4):

1234
import numpy as np array_1d = np.array([5, 7, 1, 10, 9]) array_2d = np.zeros((3, 4)) print(array_1d.shape, array_2d.shape)
copy

ndarray.reshape()

NumPy-arrayer har en .reshape()-metode for omforming. Det er kun nødvendig å angi formen til det resulterende arrayet enten som et heltall, en tuple av heltall, eller heltall som separate argumenter.

Denne metoden endrer ikke arrayet in place, men returnerer et nytt array.

Note
Merk

Faktisk returnerer .reshape() en visning av den opprinnelige arrayen, slik at eventuelle endringer gjort i den omformede arrayen også vil påvirke den opprinnelige arrayen.

123456789
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = array.reshape(3, 4) print(reshaped_array_2d) # Reshaping the array to a 2x2x3 3D array reshaped_array_3d = array.reshape(2, 2, 3) print(reshaped_array_3d)
copy
Note
Merk

Antall elementer i den omformede arrayen må være det samme som i den opprinnelige arrayen, så du kan ikke angi en vilkårlig form.

I vårt eksempel gir omforming av arrayen til en form med 3 rader og 4 kolonner (3x4) eller til en form med 2 blokker, hver med 2 rader og 3 kolonner (2x2x3) fortsatt totalt 12 elementer.

Omforming med -1

I NumPy, når du bruker -1 i .reshape()-metoden, beregnes størrelsen på denne dimensjonen automatisk basert på størrelsen til den opprinnelige arrayen, samtidig som det totale antallet elementer forblir det samme.

Å bruke .reshape(-1, 1) er spesielt nyttig innen maskinlæring når vi må omforme en 1D-array til en 2D-array med én kolonne. Antall rader i dette tilfellet tilsvarer antall elementer (beregnes automatisk).

123456
import numpy as np # Creating a 1D array from 0 to 4 inclusive array = np.arange(5) # Reshaping the array to a 2D array with one column reshaped_array = array.reshape(-1, 1) print(reshaped_array)
copy

Den omformede arrayen lagres som en 2D-array med 5 rader og 1 kolonne, med formen (5, 1). Til sammenligning har den opprinnelige 1D-arrayen formen (5,), som er en tuple med ett element. For enhver 1D-array er formen alltid (n,), hvor n representerer antall elementer.

numpy.reshape()

Funksjonen reshape() i NumPy er identisk med .reshape()-metoden, men du må sende inn en array som første argument. For parameteren shape kan du sende inn enten en tuple av heltall eller et enkelt heltall, for eksempel np.reshape(array, (3, 4)):

123456
import numpy as np # Creating a 1D array from 0 to 11 inclusive array = np.arange(12) # Reshaping the array to a 3x4 2D array (matrix) reshaped_array_2d = np.reshape(array, (3, 4)) print(reshaped_array_2d)
copy
Oppgave

Swipe to start coding

Du har et sales_data_2021-array med simulert kvartalsvis salgsdata for to produkter i 2021. De første 4 elementene representerer kvartalssalget for det første produktet, og de siste 4 elementene representerer kvartalssalget for det andre produktet.

  1. Bruk riktig metode for sales_data_2021 for å endre formen til et 2D-array.
  2. Den første raden skal inneholde kvartalssalget for det første produktet.
  3. Den andre raden skal inneholde kvartalssalget for det andre produktet.

Løsning

Switch to desktopBytt til skrivebordet for virkelighetspraksisFortsett der du er med et av alternativene nedenfor
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
single

single

some-alt