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

bookPlatta Ut Arrayer

Plattning av en array innebär att omvandla den från en flerdimensionell array till en 1D-array, vilket i princip innebär att dess innehåll vecklas ut.

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

Det finns tre möjliga alternativ för plattning 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) returnerar en sammanhängande platt array med samma antal element.

Som nämnts i föregående kapitel beräknar -1 automatiskt storleken på dimensionen baserat på den ursprungliga arrayens storlek. Eftersom vi endast anger 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 motsvarande funktion returnerar en vy av den ursprungliga arrayen, så alla ändringar som görs i den omformade arrayen påverkar även 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 en kopia av den ursprungliga arrayen önskas, inte en vy, kan metoden .flatten() användas:

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
Observera

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 spara resultatet i exam_scores_flattened.
  2. Använd .reshape()-metoden korrekt för att platta ut exam_scores och spara resultatet i exam_scores_reshaped.
  3. Använd .ravel()-metoden för att platta ut exam_scores och spara resultatet i exam_scores_raveled.
  4. Välj bland de tre skapade utplattade arrayerna den som är en kopia av originalarrayen, inte en vy, och tilldela värdet 100 till dess första element (använd positiv indexering).

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
single

single

Fråga AI

expand

Fråga AI

ChatGPT

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

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

bookPlatta Ut Arrayer

Svep för att visa menyn

Plattning av en array innebär att omvandla den från en flerdimensionell array till en 1D-array, vilket i princip innebär att dess innehåll vecklas ut.

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

Det finns tre möjliga alternativ för plattning 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) returnerar en sammanhängande platt array med samma antal element.

Som nämnts i föregående kapitel beräknar -1 automatiskt storleken på dimensionen baserat på den ursprungliga arrayens storlek. Eftersom vi endast anger 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 motsvarande funktion returnerar en vy av den ursprungliga arrayen, så alla ändringar som görs i den omformade arrayen påverkar även 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 en kopia av den ursprungliga arrayen önskas, inte en vy, kan metoden .flatten() användas:

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
Observera

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 spara resultatet i exam_scores_flattened.
  2. Använd .reshape()-metoden korrekt för att platta ut exam_scores och spara resultatet i exam_scores_reshaped.
  3. Använd .ravel()-metoden för att platta ut exam_scores och spara resultatet i exam_scores_raveled.
  4. Välj bland de tre skapade utplattade arrayerna den som är en kopia av originalarrayen, inte en vy, och tilldela värdet 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
single

single

some-alt