NumPy-biblioteket har mange funktioner til at arbejde med det flerdimensionale array. reshape () -funktionen er en af dem, der bruges til at ændre formen på et eksisterende array uden at ændre dataene. Formen definerer det samlede antal elementer i hver dimension. Arrayets dimension kan tilføjes eller fjernes, og antallet af elementer i hver dimension kan ændres ved hjælp af funktionen reshape (). Det endimensionelle array kan konverteres til et multidimensionelt array, men det multidimensionelle array kan ikke konverteres til et endimensionelt array med denne funktion. Sådan omformes () funktion fungerer, og dens anvendelser forklares i denne vejledning.
Syntaks
Syntaksen for funktionen omformning () er angivet nedenfor.
np_array bedøvet.omforme (np_array, new_shape, order = 'C')Denne funktion kan tage tre argumenter. Det første og andet argument er obligatorisk, og det tredje argument er valgfrit. Et NumPy-array er værdien af det første argument (np_array) der vil blive omformet. Arrayets form indstilles som det andet argument (ny_form) værdi, der kan være et heltal eller en tuple af heltal. Arrayets rækkefølge indstilles af det tredje argument (bestille) værdi, der bruges til at definere elementets position for det omformede array. Det tredje arguments værdi kan være 'C'eller'F'eller'EN.'Ordreværdien'C'bruges til C-stil indeksbestilling, hvor den sidste akseindeks ændres hurtigere og den første akseindeksændring langsommere. Ordreværdien 'F'bruges til indeksbestilling i Fortran-stil, hvor den første akseindeks ændres hurtigere, og den sidste akseindeks ændres langsommere. Begge 'C'og'Fordrer bruger ikke hukommelse. Ordreværdien, 'EN'fungerer som'F,'men det bruger hukommelse.
Brug af reshape () -funktionen:
Du skal installere NumPy-biblioteket, før du praktiserer eksemplerne på denne vejledning. Forskellige anvendelser af funktionen reshape () er vist i den del af denne vejledning.
Eksempel 1: Konverter et-dimensionelt array til et to-dimensionelt array
Følgende eksempel viser funktionen reshape () til at konvertere et endimensionelt NumPy-array til et to-dimensionelt NumPy-array. arange () -funktionen bruges i scriptet til at oprette et endimensionelt array med 10 elementer. Den første reshape-funktion () bruges til at konvertere det endimensionale array til det to-dimensionelle array med 2 rækker og 5 kolonner. Her kaldes funktionen til omformning () ved hjælp af modulnavnet, np. Den anden funktion () omformes () bruges til at konvertere det endimensionale array til det todimensionale array med 5 rækker og 2 kolonner. Her kaldes funktionen til omformning () ved hjælp af NumPy-arrayet np_array.
# Importer NumPyimporter numpy som np
# Opret et NumPy-array af rækkeværdier
np_array = np.sort (10)
# Udskriv NumPy-matrixværdierne
print ("Værdierne for NumPy-array: \ n", np_array)
# Omform arrayet med 2 rækker og 5 kolonner
new_array = np.omforme (np_array, (2, 5))
# Udskriv de omformede værdier
print ("\ nDen omformede matrix med 2 rækker og 5 kolonner: \ n", new_array)
# Omform array med 5 rækker og 2 kolonner
new_array = np_array.omforme (5, 2)
# Udskriv de omformede værdier
print ("\ nDen omformede matrix med 5 rækker og 2 kolonner: \ n", new_array)
Produktion:
Følgende output vises efter udførelse af ovenstående script. Den første output viser hovedarrayet. Den anden og tredje output viser det omformede array.
Eksempel 2: Konverter et-dimensionelt array til et tredimensionelt array
Følgende eksempel viser funktionen reshape () til at konvertere et endimensionelt NumPy-array til et tredimensionelt NumPy-array. array () -funktion bruges i scriptet til at oprette et endimensionelt array med 12 elementer. reshape () -funktion bruges til at konvertere det oprettede endimensionale array til det tredimensionale array. Her kaldes funktionen til omformning () ved hjælp af NumPy-arrayet np_array.
# Importer NumPyimporter numpy som np
# Opret et NumPy-array ved hjælp af listen
np_array = np.array ([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
# Udskriv NumPy-matrixværdierne
print ("Værdierne for NumPy-array: \ n", np_array)
# Opret et tredimensionelt array fra et endimensionelt array
new_array = np_array.omforme (2, 2, 3)
# Udskriv de omformede værdier
print ("\ nDen omformede 3D-matrixværdier er: \ n", new_array)
Produktion:
Følgende output vises efter udførelse af ovenstående script. Den første output viser hovedarrayet. Den anden output viser det omformede array.
Eksempel 3: Omform NumPy-array baseret på bestilling
Følgende eksempel viser funktionen reshape () til at konvertere et endimensionelt NumPy-array til et to-dimensionelt NumPy-array med forskellige ordretyper. arange () -funktionen bruges i scriptet til at oprette et endimensionelt array med 15 elementer. Den første omformning () -funktion bruges til at oprette et todimensionelt array på 3 rækker og 5 kolonner med C-stilbestilling. Den anden omformning () -funktion bruges til at oprette et todimensionelt array med 3 rækker og 5 kolonner med Fortran-stilbestilling.
# Importer NumPyimporter numpy som np
# Opret et NumPy-array af rækkeværdier
np_array = np.arange (15)
# Udskriv værdierne for NumPy-arrayet
print ("Værdierne for NumPy-array: \ n", np_array)
# Omform arrayet baseret på C-stilbestilling
new_array1 = np.omforme (np_array, (3, 5), rækkefølge = 'C')
# Udskriv de omformede værdier
print ("\ nDen omformede 2D-array-værdier baseret på C-stilbestilling er: \ n", new_array1)
# Omform arrayet baseret på Fortran-stilbestilling
new_array2 = np.omforme (np_array, (3, 5), rækkefølge = 'F')
# Udskriv de omformede værdier
print ("\ nDen omformede 2D-array-værdier baseret på Fortran-stilbestilling er: \ n", new_array2)
Produktion:
Følgende output vises efter udførelse af ovenstående script. Den første output viser det vigtigste array af værdier. Den anden output viser arrayværdierne med rækkebaseret rækkefølge. Den tredje output viser arrayværdierne med søjlebaseret rækkefølge.
Konklusion
Måderne til at konvertere arrayet fra en form til en anden form ved hjælp af funktionen reshape () er beskrevet i denne vejledning. Formålet med at bruge funktionen reshape () ryddes efter at have praktiseret eksemplerne i denne vejledning, og læserne vil være i stand til at bruge denne funktion i deres python-script.