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

Veeg om het menu te tonen

book
Arrays Herschikken

Array reshaping in NumPy stelt je in staat om de vorm van een array te veranderen terwijl alle elementen behouden blijven. Het is een veelgebruikte bewerking in machine learning omdat veel functies en methoden van machine learning-bibliotheken vereisen dat arrays een specifieke vorm hebben.

Arrayvormen

Bijvoorbeeld, een 1D-array van lengte 5 heeft een vorm van (5,), terwijl een 2D-array met 3 rijen en 4 kolommen een vorm heeft van (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 arrays hebben een .reshape() methode voor het herschikken. Je hoeft alleen de vorm van de resulterende array door te geven, hetzij als een integer, een tuple van integers, of integers als aparte argumenten.

Deze methode wijzigt de array niet ter plaatse, maar retourneert een nieuwe array.

Opmerking

In feite retourneert .reshape() een view van de originele array, dus alle wijzigingen die aan de herschikte array worden aangebracht, zullen ook de originele array beïnvloeden.

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

Opmerking

Het aantal elementen in de herschikte array moet hetzelfde zijn als in de oorspronkelijke array, dus je kunt geen willekeurige vorm doorgeven.

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

Herstructureren met -1

In NumPy, wanneer je -1 gebruikt in de .reshape() methode, berekent het automatisch de grootte van die dimensie op basis van de grootte van de oorspronkelijke array, terwijl het totale aantal elementen hetzelfde blijft.

Het gebruik van .reshape(-1, 1) is bijzonder nuttig in machine learning wanneer we een 1D-array moeten herstructureren naar een 2D-array met één kolom. Het aantal rijen in dit geval is 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 hervormde array wordt opgeslagen als een 2D-array met 5 rijen en 1 kolom, met de vorm (5, 1). Daarentegen heeft de initiële 1D-array de vorm (5,), wat een tupel met een enkel element is. Voor elke 1D-array is de vorm altijd (n,), waarbij n het aantal elementen vertegenwoordigt.

numpy.reshape()

De functie reshape() in NumPy is identiek aan de .reshape() methode, maar je moet een array als eerste argument doorgeven. Voor de shape parameter kun je ofwel een tupel van gehele getallen of een enkel geheel getal doorgeven, 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 voor het eerste product, en de laatste 4 elementen vertegenwoordigen de kwartaalverkopen voor het tweede product.

  1. Gebruik de juiste methode van sales_data_2021 om het om te vormen tot een 2D-array.

  2. De eerste rij moet de kwartaalverkopen voor het eerste product bevatten.

  3. De tweede rij moet de kwartaalverkopen voor 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

Vraag AI

expand
ChatGPT

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

book
Arrays Herschikken

Array reshaping in NumPy stelt je in staat om de vorm van een array te veranderen terwijl alle elementen behouden blijven. Het is een veelgebruikte bewerking in machine learning omdat veel functies en methoden van machine learning-bibliotheken vereisen dat arrays een specifieke vorm hebben.

Arrayvormen

Bijvoorbeeld, een 1D-array van lengte 5 heeft een vorm van (5,), terwijl een 2D-array met 3 rijen en 4 kolommen een vorm heeft van (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 arrays hebben een .reshape() methode voor het herschikken. Je hoeft alleen de vorm van de resulterende array door te geven, hetzij als een integer, een tuple van integers, of integers als aparte argumenten.

Deze methode wijzigt de array niet ter plaatse, maar retourneert een nieuwe array.

Opmerking

In feite retourneert .reshape() een view van de originele array, dus alle wijzigingen die aan de herschikte array worden aangebracht, zullen ook de originele array beïnvloeden.

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

Opmerking

Het aantal elementen in de herschikte array moet hetzelfde zijn als in de oorspronkelijke array, dus je kunt geen willekeurige vorm doorgeven.

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

Herstructureren met -1

In NumPy, wanneer je -1 gebruikt in de .reshape() methode, berekent het automatisch de grootte van die dimensie op basis van de grootte van de oorspronkelijke array, terwijl het totale aantal elementen hetzelfde blijft.

Het gebruik van .reshape(-1, 1) is bijzonder nuttig in machine learning wanneer we een 1D-array moeten herstructureren naar een 2D-array met één kolom. Het aantal rijen in dit geval is 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 hervormde array wordt opgeslagen als een 2D-array met 5 rijen en 1 kolom, met de vorm (5, 1). Daarentegen heeft de initiële 1D-array de vorm (5,), wat een tupel met een enkel element is. Voor elke 1D-array is de vorm altijd (n,), waarbij n het aantal elementen vertegenwoordigt.

numpy.reshape()

De functie reshape() in NumPy is identiek aan de .reshape() methode, maar je moet een array als eerste argument doorgeven. Voor de shape parameter kun je ofwel een tupel van gehele getallen of een enkel geheel getal doorgeven, 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 voor het eerste product, en de laatste 4 elementen vertegenwoordigen de kwartaalverkopen voor het tweede product.

  1. Gebruik de juiste methode van sales_data_2021 om het om te vormen tot een 2D-array.

  2. De eerste rij moet de kwartaalverkopen voor het eerste product bevatten.

  3. De tweede rij moet de kwartaalverkopen voor 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
Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt