Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Arrays Herschikken | Veelgebruikte NumPy-Functies
Ultieme NumPy

bookArrays Herschikken

Array-herstructurering in NumPy maakt het mogelijk om de vorm van een array te wijzigen terwijl alle elementen behouden blijven. Dit is een veelgebruikte bewerking in machine learning, aangezien veel functies en methoden van machine learning-bibliotheken vereisen dat arrays een specifieke vorm hebben.

Arrayvormen

Note
Definitie

De vorm van een NumPy-array is een tuple die het aantal elementen langs elke dimensie (as) aangeeft.

Bijvoorbeeld, een 1D-array met lengte 5 heeft een vorm van (5,), terwijl een 2D-array met 3 rijen en 4 kolommen een vorm van (3, 4) heeft:

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-arrays beschikken over een .reshape()-methode voor het wijzigen van de vorm. Alleen de vorm van de resulterende array hoeft te worden opgegeven, hetzij als een integer, een tuple van integers, of als afzonderlijke integers.

Deze methode wijzigt de array niet in plaats, maar retourneert een nieuwe array.

Note
Opmerking

De methode .reshape() retourneert daadwerkelijk een view van de oorspronkelijke array, waardoor wijzigingen in de herschikte array ook invloed hebben op de originele array.

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
Opmerking

Het aantal elementen in de herschikte array moet gelijk zijn aan dat van de oorspronkelijke array; het is dus niet mogelijk om een willekeurige vorm op te geven.

In ons voorbeeld resulteert het herschikken van de array naar een vorm van 3 rijen en 4 kolommen (3x4) of naar een vorm van 2 blokken, elk met 2 rijen en 3 kolommen (2x2x3) nog steeds in een totaal van 12 elementen.

Herscheppen met -1

In NumPy wordt bij gebruik van -1 in de .reshape()-methode de grootte van die dimensie automatisch berekend op basis van de oorspronkelijke grootte van de array, terwijl het totale aantal elementen gelijk blijft.

Het gebruik van .reshape(-1, 1) is met name nuttig in de machine learning wanneer een 1D-array moet worden omgezet naar een 2D-array met één kolom. Het aantal rijen is in dit geval gelijk aan het aantal elementen (automatisch berekend).

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

De omgevormde array wordt opgeslagen als een 2D-array met 5 rijen en 1 kolom, met de vorm (5, 1). Ter vergelijking: de oorspronkelijke 1D-array heeft de vorm (5,), wat een tuple met één element is. Voor elke 1D-array is de vorm altijd (n,), waarbij n het aantal elementen aangeeft.

numpy.reshape()

De functie reshape() in NumPy is identiek aan de methode .reshape(), maar je moet een array als eerste argument meegeven. Voor de parameter shape kun je ofwel een tuple van gehele getallen of een enkel geheel getal opgeven, bijvoorbeeld: 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
Taak

Swipe to start coding

Je hebt een sales_data_2021 array met gesimuleerde kwartaalverkoopgegevens voor twee producten in 2021. De eerste 4 elementen vertegenwoordigen de kwartaalverkopen van het eerste product, en de laatste 4 elementen vertegenwoordigen de kwartaalverkopen van het tweede product.

  1. Gebruik de juiste methode van sales_data_2021 om deze om te vormen tot een 2D-array.
  2. De eerste rij moet de kwartaalverkopen van het eerste product bevatten.
  3. De tweede rij moet de kwartaalverkopen van het tweede product bevatten.

Oplossing

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

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

bookArrays Herschikken

Veeg om het menu te tonen

Array-herstructurering in NumPy maakt het mogelijk om de vorm van een array te wijzigen terwijl alle elementen behouden blijven. Dit is een veelgebruikte bewerking in machine learning, aangezien veel functies en methoden van machine learning-bibliotheken vereisen dat arrays een specifieke vorm hebben.

Arrayvormen

Note
Definitie

De vorm van een NumPy-array is een tuple die het aantal elementen langs elke dimensie (as) aangeeft.

Bijvoorbeeld, een 1D-array met lengte 5 heeft een vorm van (5,), terwijl een 2D-array met 3 rijen en 4 kolommen een vorm van (3, 4) heeft:

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-arrays beschikken over een .reshape()-methode voor het wijzigen van de vorm. Alleen de vorm van de resulterende array hoeft te worden opgegeven, hetzij als een integer, een tuple van integers, of als afzonderlijke integers.

Deze methode wijzigt de array niet in plaats, maar retourneert een nieuwe array.

Note
Opmerking

De methode .reshape() retourneert daadwerkelijk een view van de oorspronkelijke array, waardoor wijzigingen in de herschikte array ook invloed hebben op de originele array.

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
Opmerking

Het aantal elementen in de herschikte array moet gelijk zijn aan dat van de oorspronkelijke array; het is dus niet mogelijk om een willekeurige vorm op te geven.

In ons voorbeeld resulteert het herschikken van de array naar een vorm van 3 rijen en 4 kolommen (3x4) of naar een vorm van 2 blokken, elk met 2 rijen en 3 kolommen (2x2x3) nog steeds in een totaal van 12 elementen.

Herscheppen met -1

In NumPy wordt bij gebruik van -1 in de .reshape()-methode de grootte van die dimensie automatisch berekend op basis van de oorspronkelijke grootte van de array, terwijl het totale aantal elementen gelijk blijft.

Het gebruik van .reshape(-1, 1) is met name nuttig in de machine learning wanneer een 1D-array moet worden omgezet naar een 2D-array met één kolom. Het aantal rijen is in dit geval gelijk aan het aantal elementen (automatisch berekend).

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

De omgevormde array wordt opgeslagen als een 2D-array met 5 rijen en 1 kolom, met de vorm (5, 1). Ter vergelijking: de oorspronkelijke 1D-array heeft de vorm (5,), wat een tuple met één element is. Voor elke 1D-array is de vorm altijd (n,), waarbij n het aantal elementen aangeeft.

numpy.reshape()

De functie reshape() in NumPy is identiek aan de methode .reshape(), maar je moet een array als eerste argument meegeven. Voor de parameter shape kun je ofwel een tuple van gehele getallen of een enkel geheel getal opgeven, bijvoorbeeld: 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
Taak

Swipe to start coding

Je hebt een sales_data_2021 array met gesimuleerde kwartaalverkoopgegevens voor twee producten in 2021. De eerste 4 elementen vertegenwoordigen de kwartaalverkopen van het eerste product, en de laatste 4 elementen vertegenwoordigen de kwartaalverkopen van het tweede product.

  1. Gebruik de juiste methode van sales_data_2021 om deze om te vormen tot een 2D-array.
  2. De eerste rij moet de kwartaalverkopen van het eerste product bevatten.
  3. De tweede rij moet de kwartaalverkopen van het tweede product bevatten.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4
single

single

some-alt