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
Ultimate NumPy

bookUdfladning af Arrays

Udfladning af et array betyder at konvertere det fra et multidimensionelt array til et 1D-array, hvilket i bund og grund udfolder dets indhold.

Denne operation er nyttig, når det er nødvendigt at behandle elementerne i et array enkeltvis, eller når data skal gøres mere egnede til bestemte algoritmer.

Der er tre mulige muligheder for udfladning i NumPy:

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

reshape(-1)

Metoden .reshape(-1) eller funktionen reshape(array, -1) returnerer et sammenhængende udfladet array med samme antal elementer.

Som nævnt i det foregående kapitel, beregner -1 automatisk størrelsen af dimensionen baseret på det oprindelige arrays størrelse. Da der kun angives et enkelt heltal for shape, returneres et 1D-array med 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 tilsvarende funktion returnerer en view af det oprindelige array, så alle ændringer foretaget på det omformede array vil også påvirke det oprindelige array.

Brug af flattened_array = np.reshape(array_2d, -1) kan anvendes 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 det oprindelige array og ikke en visning, kan du bruge metoden .flatten():

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
Bemærk

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

Opgave

Swipe to start coding

  1. Brug .flatten()-metoden korrekt til at udflade exam_scores og gem resultatet i exam_scores_flattened.
  2. Brug .reshape()-metoden korrekt til at udflade exam_scores og gem resultatet i exam_scores_reshaped.
  3. Brug .ravel()-metoden til at udflade exam_scores og gem resultatet i exam_scores_raveled.
  4. Ud af de tre oprettede udfladede arrays, vælg den, der er en kopi af det oprindelige array og ikke et view, og tildel værdien 100 til dets første element (brug positiv indeksering).

Løsning

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 5
single

single

Spørg AI

expand

Spørg AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.7

bookUdfladning af Arrays

Stryg for at vise menuen

Udfladning af et array betyder at konvertere det fra et multidimensionelt array til et 1D-array, hvilket i bund og grund udfolder dets indhold.

Denne operation er nyttig, når det er nødvendigt at behandle elementerne i et array enkeltvis, eller når data skal gøres mere egnede til bestemte algoritmer.

Der er tre mulige muligheder for udfladning i NumPy:

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

reshape(-1)

Metoden .reshape(-1) eller funktionen reshape(array, -1) returnerer et sammenhængende udfladet array med samme antal elementer.

Som nævnt i det foregående kapitel, beregner -1 automatisk størrelsen af dimensionen baseret på det oprindelige arrays størrelse. Da der kun angives et enkelt heltal for shape, returneres et 1D-array med 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 tilsvarende funktion returnerer en view af det oprindelige array, så alle ændringer foretaget på det omformede array vil også påvirke det oprindelige array.

Brug af flattened_array = np.reshape(array_2d, -1) kan anvendes 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 det oprindelige array og ikke en visning, kan du bruge metoden .flatten():

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
Bemærk

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

Opgave

Swipe to start coding

  1. Brug .flatten()-metoden korrekt til at udflade exam_scores og gem resultatet i exam_scores_flattened.
  2. Brug .reshape()-metoden korrekt til at udflade exam_scores og gem resultatet i exam_scores_reshaped.
  3. Brug .ravel()-metoden til at udflade exam_scores og gem resultatet i exam_scores_raveled.
  4. Ud af de tre oprettede udfladede arrays, vælg den, der er en kopi af det oprindelige array og ikke et view, og tildel værdien 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
single

single

some-alt