Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Arrays Kopiëren | Veelgebruikte Numpy-Functies
Numpy Basisprincipes
Sectie 3. Hoofdstuk 3
single

single

bookArrays Kopiëren

Veeg om het menu te tonen

Vaak is het nodig om een kopie van een array te maken om wijzigingen aan te brengen zonder de originele array te beïnvloeden.

Eenvoudige toewijzing

Eerst bespreken we waarom we niet eenvoudigweg een andere variabele kunnen maken met array_2 = array_1, waarbij array_1 onze originele array is.

123456
import numpy as np array_1 = np.array([1, 2, 3]) array_2 = array_1 # Setting the first element of array_2 to 10 array_2[0] = 10 print(array_1)
copy

We hebben de waarde van het eerste element van array_2 gewijzigd naar 10, maar deze toewijzing heeft ook de waarde van het eerste element van array_1 gewijzigd naar 10.

Note
Opmerking

Met array_2 = array_1 maak je geen nieuwe array; in plaats daarvan maak je een referentie naar dezelfde array in het geheugen. Hierdoor zullen alle wijzigingen die aan array_2 worden aangebracht, ook array_1 beïnvloeden.

Om dit probleem op te lossen, zouden we array_2 = np.array([1, 2, 3]) kunnen schrijven, maar dat betekent dat we dezelfde code twee keer moeten schrijven. Onthoud het belangrijkste principe bij programmeren: Herhaal jezelf niet.

ndarray.copy() Methode

Gelukkig heeft NumPy een ndarray.copy() methode als oplossing voor dit probleem.

12345678
import numpy as np array_1 = np.array([1, 2, 3]) # Copying the contents of array_1 array_2 = array_1.copy() # Setting the first element of array_2 to 10 array_2[0] = 10 print(f'Initial array: {array_1}') print(f'Modified copy: {array_2}')
copy

Nu hebben we een nieuwe array aangemaakt voor array_2 met dezelfde elementen als array_1.

Voor 2D arrays is de kopieerprocedure exact hetzelfde.

numpy.copy() Functie

In plaats van de .copy() methode kunnen we ook de copy() functie gebruiken, die de array als parameter neemt: array_2 = np.copy(array_1).

Zowel de functie als de methode werken hetzelfde; er is echter één nuance. Beide hebben de parameter order, die de geheugenindeling van de array specificeert, maar hun standaardwaarden verschillen.

De onderstaande afbeelding toont de structuur van de sales_data_2021 array die in de opdracht wordt gebruikt:

Taak

Veeg om te beginnen met coderen

Je analyseert de kwartaalomzetgegevens van een bedrijf voor het jaar 2021. De gegevens zijn opgeslagen in een NumPy-array genaamd sales_data_2021, waarbij elke rij een specifiek product vertegenwoordigt en elke kolom de kwartaalomzet voor dat product weergeeft.

  1. Maak een kopie van sales_data_2021 met behulp van de juiste methode van een NumPy-array en sla deze op in sales_data_2022.
  2. Werk de laatste twee elementen van de eerste rij (die de kwartaalomzet van een product weergeven) in sales_data_2022 bij naar 390 en 370:
    • Gebruik een positieve index om de rij aan te duiden;
    • Gebruik een slice met alleen een negatieve start-waarde om de laatste twee elementen te indexeren.

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 3
single

single

Vraag AI

expand

Vraag AI

ChatGPT

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

some-alt