Udfladning 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 funktionennumpy.reshape(array, -1); - Brug af metoden
ndarray.ravel()eller funktionennumpy.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.
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 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:
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 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():
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 altid kopiere en visning af et array for at oprette et separat objekt og ændre denne kopi uden at påvirke det oprindelige array.
Swipe to start coding
- Brug
.flatten()-metoden korrekt til at udfladeexam_scoresog gem resultatet iexam_scores_flattened. - Brug
.reshape()-metoden korrekt til at udfladeexam_scoresog gem resultatet iexam_scores_reshaped. - Brug
.ravel()-metoden til at udfladeexam_scoresog gem resultatet iexam_scores_raveled. - 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
100til dets første element (brug positiv indeksering).
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 3.7
Udfladning 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 funktionennumpy.reshape(array, -1); - Brug af metoden
ndarray.ravel()eller funktionennumpy.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.
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 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:
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 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():
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 altid kopiere en visning af et array for at oprette et separat objekt og ændre denne kopi uden at påvirke det oprindelige array.
Swipe to start coding
- Brug
.flatten()-metoden korrekt til at udfladeexam_scoresog gem resultatet iexam_scores_flattened. - Brug
.reshape()-metoden korrekt til at udfladeexam_scoresog gem resultatet iexam_scores_reshaped. - Brug
.ravel()-metoden til at udfladeexam_scoresog gem resultatet iexam_scores_raveled. - 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
100til dets første element (brug positiv indeksering).
Løsning
Tak for dine kommentarer!
single