Utflating av Matriser
Flating av en matrise betyr å konvertere den fra en flerdimensjonal matrise til en 1D-matrise, altså å "rulle ut" innholdet.
Denne operasjonen er nyttig når du må behandle elementene i en matrise ett og ett eller når du ønsker å gjøre dataene mer egnet for visse algoritmer.
Det finnes tre mulige alternativer for flating i NumPy:
- Bruke metoden
ndarray.reshape(-1)eller funksjonennumpy.reshape(array, -1); - Bruke metoden
ndarray.ravel()eller funksjonennumpy.ravel(array); - Bruke metoden
ndarray.flatten().
reshape(-1)
Metoden .reshape(-1) eller funksjonen reshape(array, -1) returnerer en sammenhengende flatet matrise med samme antall elementer.
Som nevnt i forrige kapittel, beregner -1 automatisk størrelsen på dimensjonen basert på størrelsen til den opprinnelige matrisen. Siden vi kun oppgir ett heltall for shape, returneres en 1D-matrise med samme antall 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 respektive funksjonen returnerer en visning av det opprinnelige arrayet, slik at eventuelle endringer gjort på det omformede arrayet også vil påvirke det opprinnelige arrayet.
Bruk av flattened_array = np.reshape(array_2d, -1) kan benyttes i stedet for å kalle metoden.
ravel()
Metoden ndarray.ravel() eller funksjonen numpy.ravel(array) fungerer på samme måte som reshape(-1) og returnerer også en visning av det opprinnelige arrayet:
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 brukes i stedet for å kalle metoden.
ndarray.flatten()
Hvis du ønsker en kopi av det opprinnelige arrayet, ikke en visning, kan du bruke .flatten()-metoden:
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 kopiere en visning av en matrise for å opprette et eget objekt og endre denne kopien uten å påvirke den opprinnelige matrisen.
Swipe to start coding
- Bruk
.flatten()-metoden riktig for å flate utexam_scoresog lagre resultatet iexam_scores_flattened. - Bruk
.reshape()-metoden riktig for å flate utexam_scoresog lagre resultatet iexam_scores_reshaped. - Bruk
.ravel()-metoden for å flate utexam_scoresog lagre resultatet iexam_scores_raveled. - Velg blant de tre opprettede flate arrayene den som er en kopi av det opprinnelige arrayet, ikke en visning, og tildel verdien
100til det første elementet (bruk positiv indeksering).
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 3.7
Utflating av Matriser
Sveip for å vise menyen
Flating av en matrise betyr å konvertere den fra en flerdimensjonal matrise til en 1D-matrise, altså å "rulle ut" innholdet.
Denne operasjonen er nyttig når du må behandle elementene i en matrise ett og ett eller når du ønsker å gjøre dataene mer egnet for visse algoritmer.
Det finnes tre mulige alternativer for flating i NumPy:
- Bruke metoden
ndarray.reshape(-1)eller funksjonennumpy.reshape(array, -1); - Bruke metoden
ndarray.ravel()eller funksjonennumpy.ravel(array); - Bruke metoden
ndarray.flatten().
reshape(-1)
Metoden .reshape(-1) eller funksjonen reshape(array, -1) returnerer en sammenhengende flatet matrise med samme antall elementer.
Som nevnt i forrige kapittel, beregner -1 automatisk størrelsen på dimensjonen basert på størrelsen til den opprinnelige matrisen. Siden vi kun oppgir ett heltall for shape, returneres en 1D-matrise med samme antall 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 respektive funksjonen returnerer en visning av det opprinnelige arrayet, slik at eventuelle endringer gjort på det omformede arrayet også vil påvirke det opprinnelige arrayet.
Bruk av flattened_array = np.reshape(array_2d, -1) kan benyttes i stedet for å kalle metoden.
ravel()
Metoden ndarray.ravel() eller funksjonen numpy.ravel(array) fungerer på samme måte som reshape(-1) og returnerer også en visning av det opprinnelige arrayet:
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 brukes i stedet for å kalle metoden.
ndarray.flatten()
Hvis du ønsker en kopi av det opprinnelige arrayet, ikke en visning, kan du bruke .flatten()-metoden:
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 kopiere en visning av en matrise for å opprette et eget objekt og endre denne kopien uten å påvirke den opprinnelige matrisen.
Swipe to start coding
- Bruk
.flatten()-metoden riktig for å flate utexam_scoresog lagre resultatet iexam_scores_flattened. - Bruk
.reshape()-metoden riktig for å flate utexam_scoresog lagre resultatet iexam_scores_reshaped. - Bruk
.ravel()-metoden for å flate utexam_scoresog lagre resultatet iexam_scores_raveled. - Velg blant de tre opprettede flate arrayene den som er en kopi av det opprinnelige arrayet, ikke en visning, og tildel verdien
100til det første elementet (bruk positiv indeksering).
Løsning
Takk for tilbakemeldingene dine!
single