Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utjämning av Arrayer | Vanligt Använda NumPy-Funktioner
Ultimata NumPy

Svep för att visa menyn

book
Utjämning av Arrayer

Platta ut en array innebär att konvertera den från en flerdimensionell array till en 1D-array, i huvudsak att avveckla dess innehåll.

Denna operation är användbar när du behöver bearbeta elementen i en array en efter en eller när du vill göra data mer lämplig för vissa algoritmer.

Det finns tre möjliga alternativ för att platta ut i NumPy:

  • Använda metoden ndarray.reshape(-1) eller funktionen numpy.reshape(array, -1);

  • Använda metoden ndarray.ravel() eller funktionen numpy.ravel(array);

  • Använda metoden ndarray.flatten().

reshape(-1)

Metoden .reshape(-1) eller funktionen reshape(array, -1) kommer att returnera en kontinuerlig platt array med samma antal element.

Som vi redan nämnt i föregående kapitel, beräknar -1 automatiskt storleken på dimensionen baserat på den ursprungliga arrayens storlek. Eftersom vi endast skickar ett heltal för shape, returneras en 1D-array med samma antal element.

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

Metoden .reshape() eller den respektive funktionen returnerar en vy av den ursprungliga arrayen, så alla ändringar som görs på den omformade arrayen kommer också att påverka den ursprungliga arrayen.

Att använda flattened_array = np.reshape(array_2d, -1) kan användas istället för att anropa metoden.

ravel()

Metoden ndarray.ravel() eller funktionen numpy.ravel(array) fungerar på samma sätt som reshape(-1) och returnerar också en vy av den ursprungliga arrayen:

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 användas istället för att anropa metoden.

ndarray.flatten()

Om du vill ha en kopia av den ursprungliga arrayen, inte en vy, kan du använda .flatten() metoden:

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

Notera

Du kan alltid kopiera en vy av en array för att skapa ett separat objekt och ändra denna kopia utan att påverka den ursprungliga arrayen.

Uppgift

Swipe to start coding

  1. Använd .flatten() metoden korrekt för att platta ut exam_scores och lagra resultatet i exam_scores_flattened.

  2. Använd .reshape() metoden korrekt för att platta ut exam_scores och lagra resultatet i exam_scores_reshaped.

  3. Använd .ravel() metoden för att platta ut exam_scores och lagra resultatet i exam_scores_raveled.

  4. Av de tre skapade plattade arrayerna, välj den som är en kopia av den ursprungliga arrayen, inte en vy, och tilldela 100 till dess första element (använd positiv indexering).

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5

Fråga AI

expand
ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

book
Utjämning av Arrayer

Platta ut en array innebär att konvertera den från en flerdimensionell array till en 1D-array, i huvudsak att avveckla dess innehåll.

Denna operation är användbar när du behöver bearbeta elementen i en array en efter en eller när du vill göra data mer lämplig för vissa algoritmer.

Det finns tre möjliga alternativ för att platta ut i NumPy:

  • Använda metoden ndarray.reshape(-1) eller funktionen numpy.reshape(array, -1);

  • Använda metoden ndarray.ravel() eller funktionen numpy.ravel(array);

  • Använda metoden ndarray.flatten().

reshape(-1)

Metoden .reshape(-1) eller funktionen reshape(array, -1) kommer att returnera en kontinuerlig platt array med samma antal element.

Som vi redan nämnt i föregående kapitel, beräknar -1 automatiskt storleken på dimensionen baserat på den ursprungliga arrayens storlek. Eftersom vi endast skickar ett heltal för shape, returneras en 1D-array med samma antal element.

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

Metoden .reshape() eller den respektive funktionen returnerar en vy av den ursprungliga arrayen, så alla ändringar som görs på den omformade arrayen kommer också att påverka den ursprungliga arrayen.

Att använda flattened_array = np.reshape(array_2d, -1) kan användas istället för att anropa metoden.

ravel()

Metoden ndarray.ravel() eller funktionen numpy.ravel(array) fungerar på samma sätt som reshape(-1) och returnerar också en vy av den ursprungliga arrayen:

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 användas istället för att anropa metoden.

ndarray.flatten()

Om du vill ha en kopia av den ursprungliga arrayen, inte en vy, kan du använda .flatten() metoden:

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

Notera

Du kan alltid kopiera en vy av en array för att skapa ett separat objekt och ändra denna kopia utan att påverka den ursprungliga arrayen.

Uppgift

Swipe to start coding

  1. Använd .flatten() metoden korrekt för att platta ut exam_scores och lagra resultatet i exam_scores_flattened.

  2. Använd .reshape() metoden korrekt för att platta ut exam_scores och lagra resultatet i exam_scores_reshaped.

  3. Använd .ravel() metoden för att platta ut exam_scores och lagra resultatet i exam_scores_raveled.

  4. Av de tre skapade plattade arrayerna, välj den som är en kopia av den ursprungliga arrayen, inte en vy, och tilldela 100 till dess första element (använd positiv indexering).

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Vi beklagar att något gick fel. Vad hände?
some-alt