Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Arrays Glätten | 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 Glätten

Das Flattening eines Arrays bedeutet, es von einem mehrdimensionalen Array in ein 1D-Array umzuwandeln, im Wesentlichen seinen Inhalt zu entwirren.

Diese Operation ist nützlich, wenn Sie die Elemente eines Arrays einzeln verarbeiten müssen oder wenn Sie Daten für bestimmte Algorithmen geeigneter machen möchten.

Es gibt drei mögliche Optionen zum Flattening in NumPy:

  • Verwendung der Methode ndarray.reshape(-1) oder der Funktion numpy.reshape(array, -1);
  • Verwendung der Methode ndarray.ravel() oder der Funktion numpy.ravel(array);
  • Verwendung der Methode ndarray.flatten().

reshape(-1)

Die Methode .reshape(-1) oder die Funktion reshape(array, -1) gibt ein zusammenhängendes, abgeflachtes Array mit der gleichen Anzahl von Elementen zurück.

Wie bereits im vorherigen Kapitel erwähnt, berechnet -1 automatisch die Größe der Dimension basierend auf der Größe des ursprünglichen Arrays. Da wir nur eine einzelne Ganzzahl für shape übergeben, wird ein 1D-Array mit der gleichen Anzahl von Elementen zurückgegeben.

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

Die Methode .reshape() oder die entsprechende Funktion gibt eine Ansicht des ursprünglichen Arrays zurück, sodass alle Änderungen am umgeformten Array auch das ursprüngliche Array beeinflussen.

Die Verwendung von flattened_array = np.reshape(array_2d, -1) kann anstelle des Aufrufs der Methode verwendet werden.

ravel()

Die Methode ndarray.ravel() oder die Funktion numpy.ravel(array) funktioniert genauso wie reshape(-1) und gibt ebenfalls eine Ansicht des ursprünglichen Arrays zurück:

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) kann anstelle des Methodenaufrufs verwendet werden.

ndarray.flatten()

Falls Sie eine Kopie des ursprünglichen Arrays und keine Ansicht wünschen, können Sie die .flatten() Methode verwenden:

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

Hinweis

Sie können immer eine Kopie einer Ansicht eines Arrays erstellen, um ein separates Objekt zu erzeugen und diese Kopie zu ändern, ohne das ursprüngliche Array zu beeinflussen.

Aufgabe

Swipe to start coding

  1. Verwenden Sie die .flatten() Methode korrekt, um exam_scores zu glätten und speichern Sie das Ergebnis in exam_scores_flattened.

  2. Verwenden Sie die .reshape() Methode korrekt, um exam_scores zu glätten und speichern Sie das Ergebnis in exam_scores_reshaped.

  3. Verwenden Sie die .ravel() Methode zum Glätten von exam_scores und speichern Sie das Ergebnis in exam_scores_raveled.

  4. Wählen Sie aus den drei erstellten geglätteten Arrays dasjenige aus, das eine Kopie des ursprünglichen Arrays ist, nicht eine Ansicht, und weisen Sie seinem ersten Element 100 zu (verwenden Sie positives Indexing).

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 5
toggle bottom row

book
Arrays Glätten

Das Flattening eines Arrays bedeutet, es von einem mehrdimensionalen Array in ein 1D-Array umzuwandeln, im Wesentlichen seinen Inhalt zu entwirren.

Diese Operation ist nützlich, wenn Sie die Elemente eines Arrays einzeln verarbeiten müssen oder wenn Sie Daten für bestimmte Algorithmen geeigneter machen möchten.

Es gibt drei mögliche Optionen zum Flattening in NumPy:

  • Verwendung der Methode ndarray.reshape(-1) oder der Funktion numpy.reshape(array, -1);
  • Verwendung der Methode ndarray.ravel() oder der Funktion numpy.ravel(array);
  • Verwendung der Methode ndarray.flatten().

reshape(-1)

Die Methode .reshape(-1) oder die Funktion reshape(array, -1) gibt ein zusammenhängendes, abgeflachtes Array mit der gleichen Anzahl von Elementen zurück.

Wie bereits im vorherigen Kapitel erwähnt, berechnet -1 automatisch die Größe der Dimension basierend auf der Größe des ursprünglichen Arrays. Da wir nur eine einzelne Ganzzahl für shape übergeben, wird ein 1D-Array mit der gleichen Anzahl von Elementen zurückgegeben.

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

Die Methode .reshape() oder die entsprechende Funktion gibt eine Ansicht des ursprünglichen Arrays zurück, sodass alle Änderungen am umgeformten Array auch das ursprüngliche Array beeinflussen.

Die Verwendung von flattened_array = np.reshape(array_2d, -1) kann anstelle des Aufrufs der Methode verwendet werden.

ravel()

Die Methode ndarray.ravel() oder die Funktion numpy.ravel(array) funktioniert genauso wie reshape(-1) und gibt ebenfalls eine Ansicht des ursprünglichen Arrays zurück:

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) kann anstelle des Methodenaufrufs verwendet werden.

ndarray.flatten()

Falls Sie eine Kopie des ursprünglichen Arrays und keine Ansicht wünschen, können Sie die .flatten() Methode verwenden:

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

Hinweis

Sie können immer eine Kopie einer Ansicht eines Arrays erstellen, um ein separates Objekt zu erzeugen und diese Kopie zu ändern, ohne das ursprüngliche Array zu beeinflussen.

Aufgabe

Swipe to start coding

  1. Verwenden Sie die .flatten() Methode korrekt, um exam_scores zu glätten und speichern Sie das Ergebnis in exam_scores_flattened.

  2. Verwenden Sie die .reshape() Methode korrekt, um exam_scores zu glätten und speichern Sie das Ergebnis in exam_scores_reshaped.

  3. Verwenden Sie die .ravel() Methode zum Glätten von exam_scores und speichern Sie das Ergebnis in exam_scores_raveled.

  4. Wählen Sie aus den drei erstellten geglätteten Arrays dasjenige aus, das eine Kopie des ursprünglichen Arrays ist, nicht eine Ansicht, und weisen Sie seinem ersten Element 100 zu (verwenden Sie positives Indexing).

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