Platta 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 funktionennumpy.reshape(array, -1); - Använda metoden
ndarray.ravel()eller funktionennumpy.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.
1234567import 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}')
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:
1234567import 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}')
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:
1234567import 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}')
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.
Swipe to start coding
- Använd
.flatten()-metoden korrekt för att platta utexam_scoresoch spara resultatet iexam_scores_flattened. - Använd
.reshape()-metoden korrekt för att platta utexam_scoresoch spara resultatet iexam_scores_reshaped. - Använd
.ravel()-metoden för att platta utexam_scoresoch spara resultatet iexam_scores_raveled. - Välj bland de tre skapade utplattade arrayerna den som är en kopia av originalarrayen, inte en vy, och tilldela värdet
100till dess första element (använd positiv indexering).
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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?
Awesome!
Completion rate improved to 3.7
Platta 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 funktionennumpy.reshape(array, -1); - Använda metoden
ndarray.ravel()eller funktionennumpy.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.
1234567import 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}')
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:
1234567import 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}')
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:
1234567import 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}')
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.
Swipe to start coding
- Använd
.flatten()-metoden korrekt för att platta utexam_scoresoch spara resultatet iexam_scores_flattened. - Använd
.reshape()-metoden korrekt för att platta utexam_scoresoch spara resultatet iexam_scores_reshaped. - Använd
.ravel()-metoden för att platta utexam_scoresoch spara resultatet iexam_scores_raveled. - Välj bland de tre skapade utplattade arrayerna den som är en kopia av originalarrayen, inte en vy, och tilldela värdet
100till dess första element (använd positiv indexering).
Lösning
Tack för dina kommentarer!
single