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

bookArrays Abflachen

Das "Flattening" eines Arrays bedeutet, ein mehrdimensionales Array in ein eindimensionales Array (1D-Array) umzuwandeln, wobei der Inhalt entrollt wird.

Dieser Vorgang ist nützlich, wenn die Elemente eines Arrays einzeln verarbeitet werden sollen oder wenn Daten für bestimmte Algorithmen besser geeignet gemacht werden sollen.

Es gibt drei Möglichkeiten 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, flaches Array mit der gleichen Anzahl von Elementen zurück.

Wie bereits im vorherigen Kapitel erwähnt, berechnet -1 die Größe der Dimension automatisch basierend auf der Größe des ursprünglichen Arrays. Da nur eine einzelne Ganzzahl für shape übergeben wird, wird ein eindimensionales 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 Originalarrays zurück, sodass alle Änderungen am umgeformten Array auch das Originalarray beeinflussen.

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

ravel()

Die Methode ndarray.ravel() oder die Funktion numpy.ravel(array) funktioniert genauso wie reshape(-1) und gibt ebenfalls eine Ansicht des Originalarrays 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 eine Kopie des ursprünglichen Arrays und keine Ansicht benötigt wird, kann die Methode .flatten() verwendet werden:

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
Note
Hinweis

Sie können jederzeit 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. Die .flatten()-Methode korrekt zum Flatten von exam_scores verwenden und das Ergebnis in exam_scores_flattened speichern.
  2. Die .reshape()-Methode korrekt zum Flatten von exam_scores verwenden und das Ergebnis in exam_scores_reshaped speichern.
  3. Die .ravel()-Methode zum Flatten von exam_scores verwenden und das Ergebnis in exam_scores_raveled speichern.
  4. Von den drei erstellten flachen Arrays dasjenige auswählen, das eine Kopie des Original-Arrays ist (kein View), und dessen erstes Element (mit positivem Index) auf 100 setzen.

Lösung

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 5
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

What is the difference between a view and a copy in NumPy?

When should I use flatten() instead of reshape(-1) or ravel()?

Can you explain what happens if I modify the flattened array in each case?

close

Awesome!

Completion rate improved to 3.7

bookArrays Abflachen

Swipe um das Menü anzuzeigen

Das "Flattening" eines Arrays bedeutet, ein mehrdimensionales Array in ein eindimensionales Array (1D-Array) umzuwandeln, wobei der Inhalt entrollt wird.

Dieser Vorgang ist nützlich, wenn die Elemente eines Arrays einzeln verarbeitet werden sollen oder wenn Daten für bestimmte Algorithmen besser geeignet gemacht werden sollen.

Es gibt drei Möglichkeiten 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, flaches Array mit der gleichen Anzahl von Elementen zurück.

Wie bereits im vorherigen Kapitel erwähnt, berechnet -1 die Größe der Dimension automatisch basierend auf der Größe des ursprünglichen Arrays. Da nur eine einzelne Ganzzahl für shape übergeben wird, wird ein eindimensionales 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 Originalarrays zurück, sodass alle Änderungen am umgeformten Array auch das Originalarray beeinflussen.

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

ravel()

Die Methode ndarray.ravel() oder die Funktion numpy.ravel(array) funktioniert genauso wie reshape(-1) und gibt ebenfalls eine Ansicht des Originalarrays 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 eine Kopie des ursprünglichen Arrays und keine Ansicht benötigt wird, kann die Methode .flatten() verwendet werden:

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
Note
Hinweis

Sie können jederzeit 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. Die .flatten()-Methode korrekt zum Flatten von exam_scores verwenden und das Ergebnis in exam_scores_flattened speichern.
  2. Die .reshape()-Methode korrekt zum Flatten von exam_scores verwenden und das Ergebnis in exam_scores_reshaped speichern.
  3. Die .ravel()-Methode zum Flatten von exam_scores verwenden und das Ergebnis in exam_scores_raveled speichern.
  4. Von den drei erstellten flachen Arrays dasjenige auswählen, das eine Kopie des Original-Arrays ist (kein View), und dessen erstes Element (mit positivem Index) auf 100 setzen.

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
single

single

some-alt