Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Arrays Kopieren | Häufig Verwendete NumPy-Funktionen
Ultimatives Numpy
course content

Kursinhalt

Ultimatives Numpy

Ultimatives Numpy

1. NumPy-Grundlagen
2. Indexierung und Slicing
3. Häufig Verwendete NumPy-Funktionen
4. Mathematik mit NumPy

book
Arrays Kopieren

Oftmals müssen Sie eine Kopie eines Arrays erstellen, um Änderungen vorzunehmen, ohne das ursprüngliche Array zu beeinflussen.

Einfache Zuweisung

Zuerst besprechen wir, warum wir nicht einfach eine andere Variable mit array_2 = array_1 erstellen können, wobei array_1 unser ursprüngliches Array ist.

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

Wir haben den Wert des ersten Elements von array_2 auf 10 geändert, aber diese Zuweisung hat auch den Wert des ersten Elements von array_1 auf 10 geändert.

Hinweis

Mit array_2 = array_1 erstellen Sie kein neues Array; stattdessen erstellen Sie eine Referenz auf dasselbe Array im Speicher. Daher wirken sich alle Änderungen, die an array_2 vorgenommen werden, auch auf array_1 aus.

Um dieses Problem zu lösen, könnten wir array_2 = np.array([1, 2, 3]) schreiben, aber das würde bedeuten, denselben Code zweimal zu schreiben. Denken Sie an das Schlüsselprinzip beim Programmieren: Wiederholen Sie sich nicht.

ndarray.copy() Methode

Glücklicherweise hat NumPy eine ndarray.copy() Methode als Lösung für dieses Problem.

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

Nun haben wir ein neues Array für array_2 mit den gleichen Elementen wie array_1 erstellt.

Für 2D-Arrays ist das Kopierverfahren genau dasselbe.

numpy.copy() Funktion

Anstelle der .copy() Methode können wir auch die copy() Funktion verwenden, die das Array als Parameter nimmt: array_2 = np.copy(array_1).

Sowohl die Funktion als auch die Methode funktionieren gleich; jedoch gibt es eine Nuance. Beide haben den order Parameter, der das Speicherlayout des Arrays angibt, aber ihre Standardwerte sind unterschiedlich.

Das Bild unten zeigt die Struktur des sales_data_2021 Arrays, das in der Aufgabe verwendet wird:

Aufgabe

Swipe to start coding

Sie analysieren die quartalsweisen Verkaufsdaten eines Unternehmens für das Jahr 2021. Die Daten sind in einem NumPy-Array namens sales_data_2021 gespeichert, wobei jede Zeile ein bestimmtes Produkt darstellt und jede Spalte die quartalsweisen Verkäufe für dieses Produkt repräsentiert.

  1. Erstellen Sie eine Kopie von sales_data_2021 mit der entsprechenden Methode eines NumPy-Arrays und speichern Sie sie in sales_data_2022.

  2. Aktualisieren Sie die letzten beiden Elemente der ersten Zeile (die die quartalsweisen Verkäufe eines Produkts darstellt) in sales_data_2022 auf 390 und 370:

    • Verwenden Sie einen positiven Index, um die Zeile anzugeben;
    • Verwenden Sie einen Slice mit nur einem negativen Start-Wert, um die letzten beiden Elemente zu indexieren.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
toggle bottom row

book
Arrays Kopieren

Oftmals müssen Sie eine Kopie eines Arrays erstellen, um Änderungen vorzunehmen, ohne das ursprüngliche Array zu beeinflussen.

Einfache Zuweisung

Zuerst besprechen wir, warum wir nicht einfach eine andere Variable mit array_2 = array_1 erstellen können, wobei array_1 unser ursprüngliches Array ist.

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

Wir haben den Wert des ersten Elements von array_2 auf 10 geändert, aber diese Zuweisung hat auch den Wert des ersten Elements von array_1 auf 10 geändert.

Hinweis

Mit array_2 = array_1 erstellen Sie kein neues Array; stattdessen erstellen Sie eine Referenz auf dasselbe Array im Speicher. Daher wirken sich alle Änderungen, die an array_2 vorgenommen werden, auch auf array_1 aus.

Um dieses Problem zu lösen, könnten wir array_2 = np.array([1, 2, 3]) schreiben, aber das würde bedeuten, denselben Code zweimal zu schreiben. Denken Sie an das Schlüsselprinzip beim Programmieren: Wiederholen Sie sich nicht.

ndarray.copy() Methode

Glücklicherweise hat NumPy eine ndarray.copy() Methode als Lösung für dieses Problem.

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

Nun haben wir ein neues Array für array_2 mit den gleichen Elementen wie array_1 erstellt.

Für 2D-Arrays ist das Kopierverfahren genau dasselbe.

numpy.copy() Funktion

Anstelle der .copy() Methode können wir auch die copy() Funktion verwenden, die das Array als Parameter nimmt: array_2 = np.copy(array_1).

Sowohl die Funktion als auch die Methode funktionieren gleich; jedoch gibt es eine Nuance. Beide haben den order Parameter, der das Speicherlayout des Arrays angibt, aber ihre Standardwerte sind unterschiedlich.

Das Bild unten zeigt die Struktur des sales_data_2021 Arrays, das in der Aufgabe verwendet wird:

Aufgabe

Swipe to start coding

Sie analysieren die quartalsweisen Verkaufsdaten eines Unternehmens für das Jahr 2021. Die Daten sind in einem NumPy-Array namens sales_data_2021 gespeichert, wobei jede Zeile ein bestimmtes Produkt darstellt und jede Spalte die quartalsweisen Verkäufe für dieses Produkt repräsentiert.

  1. Erstellen Sie eine Kopie von sales_data_2021 mit der entsprechenden Methode eines NumPy-Arrays und speichern Sie sie in sales_data_2022.

  2. Aktualisieren Sie die letzten beiden Elemente der ersten Zeile (die die quartalsweisen Verkäufe eines Produkts darstellt) in sales_data_2022 auf 390 und 370:

    • Verwenden Sie einen positiven Index, um die Zeile anzugeben;
    • Verwenden Sie einen Slice mit nur einem negativen Start-Wert, um die letzten beiden Elemente zu indexieren.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
We're sorry to hear that something went wrong. What happened?
some-alt