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

Veeg om het menu te tonen

book
Arrays Afvlakken

Afvlakken van een array betekent dat je het omzet van een multi-dimensionale array naar een 1D array, waarbij de inhoud wordt ontrold.

Deze operatie is nuttig wanneer je de elementen van een array één voor één moet verwerken of wanneer je de data geschikter wilt maken voor bepaalde algoritmen.

Er zijn drie mogelijke opties voor afvlakken in NumPy:

  • Gebruik de ndarray.reshape(-1) methode of de numpy.reshape(array, -1) functie;

  • Gebruik de ndarray.ravel() methode of de numpy.ravel(array) functie;

  • Gebruik de ndarray.flatten() methode.

reshape(-1)

De .reshape(-1) methode of de reshape(array, -1) functie zal een aaneengesloten afgevlakte array retourneren met hetzelfde aantal elementen.

Zoals we al in het vorige hoofdstuk hebben vermeld, berekent -1 automatisch de grootte van de dimensie op basis van de grootte van de oorspronkelijke array. Aangezien we slechts één enkel geheel getal voor shape doorgeven, wordt een 1D array met hetzelfde aantal elementen geretourneerd.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

De .reshape() methode of de respectieve functie retourneert een view van de originele array, dus alle wijzigingen die in de omgevormde array worden aangebracht, zullen ook de originele array beïnvloeden.

Het gebruik van flattened_array = np.reshape(array_2d, -1) kan worden gebruikt in plaats van het aanroepen van de methode.

ravel()

De ndarray.ravel() methode of de numpy.ravel(array) functie werkt hetzelfde als reshape(-1) en retourneert ook een view van de originele array:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) kan worden gebruikt in plaats van het aanroepen van de methode.

ndarray.flatten()

Als je een kopie van de originele array wilt, niet een view, kun je de .flatten() methode gebruiken:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy

Opmerking

Je kunt altijd een kopie van een weergave van een array maken om een apart object te creëren en deze kopie te wijzigen zonder de originele array te beïnvloeden.

Taak

Swipe to start coding

  1. Gebruik de .flatten() methode correct voor het afvlakken van exam_scores en sla het resultaat op in exam_scores_flattened.

  2. Gebruik de .reshape() methode correct voor het afvlakken van exam_scores en sla het resultaat op in exam_scores_reshaped.

  3. Gebruik de .ravel() methode voor het afvlakken van exam_scores en sla het resultaat op in exam_scores_raveled.

  4. Kies uit de drie gemaakte afgevlakte arrays degene die een kopie is van de originele array, niet een weergave, en ken 100 toe aan het eerste element (gebruik positieve indexering).

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 5
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?

Vraag AI

expand
ChatGPT

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

book
Arrays Afvlakken

Afvlakken van een array betekent dat je het omzet van een multi-dimensionale array naar een 1D array, waarbij de inhoud wordt ontrold.

Deze operatie is nuttig wanneer je de elementen van een array één voor één moet verwerken of wanneer je de data geschikter wilt maken voor bepaalde algoritmen.

Er zijn drie mogelijke opties voor afvlakken in NumPy:

  • Gebruik de ndarray.reshape(-1) methode of de numpy.reshape(array, -1) functie;

  • Gebruik de ndarray.ravel() methode of de numpy.ravel(array) functie;

  • Gebruik de ndarray.flatten() methode.

reshape(-1)

De .reshape(-1) methode of de reshape(array, -1) functie zal een aaneengesloten afgevlakte array retourneren met hetzelfde aantal elementen.

Zoals we al in het vorige hoofdstuk hebben vermeld, berekent -1 automatisch de grootte van de dimensie op basis van de grootte van de oorspronkelijke array. Aangezien we slechts één enkel geheel getal voor shape doorgeven, wordt een 1D array met hetzelfde aantal elementen geretourneerd.

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.reshape(-1) print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

De .reshape() methode of de respectieve functie retourneert een view van de originele array, dus alle wijzigingen die in de omgevormde array worden aangebracht, zullen ook de originele array beïnvloeden.

Het gebruik van flattened_array = np.reshape(array_2d, -1) kan worden gebruikt in plaats van het aanroepen van de methode.

ravel()

De ndarray.ravel() methode of de numpy.ravel(array) functie werkt hetzelfde als reshape(-1) en retourneert ook een view van de originele array:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.ravel() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Modified initial array:\n{array_2d}')
copy

flattened_array = np.ravel(array_2d) kan worden gebruikt in plaats van het aanroepen van de methode.

ndarray.flatten()

Als je een kopie van de originele array wilt, niet een view, kun je de .flatten() methode gebruiken:

1234567
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) flattened_array = array_2d.flatten() print(f'Flatenned array: {flattened_array}') # Changing the first element of flattened_array flattened_array[0] = 10 print(f'Initial array:\n{array_2d}')
copy

Opmerking

Je kunt altijd een kopie van een weergave van een array maken om een apart object te creëren en deze kopie te wijzigen zonder de originele array te beïnvloeden.

Taak

Swipe to start coding

  1. Gebruik de .flatten() methode correct voor het afvlakken van exam_scores en sla het resultaat op in exam_scores_flattened.

  2. Gebruik de .reshape() methode correct voor het afvlakken van exam_scores en sla het resultaat op in exam_scores_reshaped.

  3. Gebruik de .ravel() methode voor het afvlakken van exam_scores en sla het resultaat op in exam_scores_raveled.

  4. Kies uit de drie gemaakte afgevlakte arrays degene die een kopie is van de originele array, niet een weergave, en ken 100 toe aan het eerste element (gebruik positieve indexering).

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 5
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