Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfladning af Arrays | Almindeligt Anvendte NumPy-Funktioner
Ultimativ NumPy

Stryg for at vise menuen

book
Udfladning af Arrays

Udfladning af en array betyder at konvertere den fra en multi-dimensionel array til en 1D array, i det væsentlige at udrede dens indhold.

Denne operation er nyttig, når du har brug for at behandle elementerne i en array en efter en eller når du vil gøre data mere egnet til visse algoritmer.

Der er tre mulige muligheder for udfladning i NumPy:

  • Brug af ndarray.reshape(-1) metoden eller numpy.reshape(array, -1) funktionen;

  • Brug af ndarray.ravel() metoden eller numpy.ravel(array) funktionen;

  • Brug af ndarray.flatten() metoden.

reshape(-1)

Metoden .reshape(-1) eller funktionen reshape(array, -1) vil returnere en sammenhængende udfladet array med det samme antal elementer.

Som vi allerede har nævnt i det forrige kapitel, beregner -1 automatisk størrelsen af dimensionen baseret på den oprindelige arrays størrelse. Da vi kun angiver et enkelt heltal for shape, returneres en 1D array med det samme antal elementer.

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 funktion returnerer en view af det oprindelige array, så eventuelle ændringer foretaget på det omformede array vil også påvirke det oprindelige array.

Brug af flattened_array = np.reshape(array_2d, -1) kan bruges i stedet for at kalde metoden.

ravel()

Metoden ndarray.ravel() eller funktionen numpy.ravel(array) fungerer på samme måde som reshape(-1) og returnerer også en view af det oprindelige array:

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 bruges i stedet for at kalde metoden.

ndarray.flatten()

Hvis du ønsker en kopi af den originale array, ikke en view, kan du bruge .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

Bemærk

Du kan altid kopiere en visning af en array for at skabe et separat objekt og ændre denne kopi uden at påvirke den oprindelige array.

Opgave

Swipe to start coding

  1. Brug .flatten() metoden korrekt til at flade exam_scores ud og gem resultatet i exam_scores_flattened.

  2. Brug .reshape() metoden korrekt til at flade exam_scores ud og gem resultatet i exam_scores_reshaped.

  3. Brug .ravel() metoden til at flade exam_scores ud og gem resultatet i exam_scores_raveled.

  4. Ud af de tre skabte fladede arrays, vælg den, der er en kopi af den oprindelige array, ikke en visning, og tildel 100 til dets første element (brug positiv indeksering).

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5
Vi beklager, at noget gik galt. Hvad skete der?

Spørg AI

expand
ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

book
Udfladning af Arrays

Udfladning af en array betyder at konvertere den fra en multi-dimensionel array til en 1D array, i det væsentlige at udrede dens indhold.

Denne operation er nyttig, når du har brug for at behandle elementerne i en array en efter en eller når du vil gøre data mere egnet til visse algoritmer.

Der er tre mulige muligheder for udfladning i NumPy:

  • Brug af ndarray.reshape(-1) metoden eller numpy.reshape(array, -1) funktionen;

  • Brug af ndarray.ravel() metoden eller numpy.ravel(array) funktionen;

  • Brug af ndarray.flatten() metoden.

reshape(-1)

Metoden .reshape(-1) eller funktionen reshape(array, -1) vil returnere en sammenhængende udfladet array med det samme antal elementer.

Som vi allerede har nævnt i det forrige kapitel, beregner -1 automatisk størrelsen af dimensionen baseret på den oprindelige arrays størrelse. Da vi kun angiver et enkelt heltal for shape, returneres en 1D array med det samme antal elementer.

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 funktion returnerer en view af det oprindelige array, så eventuelle ændringer foretaget på det omformede array vil også påvirke det oprindelige array.

Brug af flattened_array = np.reshape(array_2d, -1) kan bruges i stedet for at kalde metoden.

ravel()

Metoden ndarray.ravel() eller funktionen numpy.ravel(array) fungerer på samme måde som reshape(-1) og returnerer også en view af det oprindelige array:

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 bruges i stedet for at kalde metoden.

ndarray.flatten()

Hvis du ønsker en kopi af den originale array, ikke en view, kan du bruge .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

Bemærk

Du kan altid kopiere en visning af en array for at skabe et separat objekt og ændre denne kopi uden at påvirke den oprindelige array.

Opgave

Swipe to start coding

  1. Brug .flatten() metoden korrekt til at flade exam_scores ud og gem resultatet i exam_scores_flattened.

  2. Brug .reshape() metoden korrekt til at flade exam_scores ud og gem resultatet i exam_scores_reshaped.

  3. Brug .ravel() metoden til at flade exam_scores ud og gem resultatet i exam_scores_raveled.

  4. Ud af de tre skabte fladede arrays, vælg den, der er en kopi af den oprindelige array, ikke en visning, og tildel 100 til dets første element (brug positiv indeksering).

Løsning

Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5
Switch to desktopSkift til skrivebord for at øve i den virkelige verdenFortsæt der, hvor du er, med en af nedenstående muligheder
Vi beklager, at noget gik galt. Hvad skete der?
some-alt