Datavetenskap

Hur man använder Python NumPy reshape () -funktion

Hur man använder Python NumPy reshape () -funktion

NumPy-biblioteket har många funktioner att arbeta med den flerdimensionella matrisen. reshape () -funktionen är en av dem som används för att ändra formen på en befintlig array utan att ändra data. Formen definierar det totala antalet element i varje dimension.  Arrayens dimension kan läggas till eller tas bort, och antalet element i varje dimension kan modifieras med funktionen omforma (). Den endimensionella matrisen kan konverteras till en multidimensionell matris, men den multidimensionella matrisen kan inte konverteras till en endimensionell matris med den här funktionen. Hur omformning () fungerar fungerar och dess användning förklaras i denna handledning.

Syntax

Syntaxen för funktionen omforma () ges nedan.

np_array bedövad.omforma (np_array, new_shape, order = 'C') 

Denna funktion kan ta tre argument. Det första och det andra argumentet är obligatoriska och det tredje argumentet är valfritt. En NumPy-matris är värdet för det första argumentet (np_array) som kommer att omformas. Arrayens form ställs in som det andra argumentet (ny_form) -värde som kan vara ett heltal eller en tuppel av heltal. Arrayens ordning ställs in av det tredje argumentet (ordning) -värde som används för att definiera elementets position för den omformade matrisen. Det tredje argumentets värde kan vara 'C'eller'F'eller'A.'Ordervärdet'C'används för indexordning i C-stil där index för sista axel ändras snabbare och index för första axel ändras långsammare. Ordervärdet 'F'används för indexordning i Fortran-stil där index för första axel ändras snabbare och index för senaste axel ändras långsammare. Båda 'C'och'Fbeställningar använder inte minne. Ordervärdet, 'A'fungerar som'F,men det använder minne.

Användning av funktionen omforma ():

Du måste installera NumPy-biblioteket innan du övar på exemplen på den här självstudien. Olika användningsområden för funktionen omforma () har visats i delen av denna handledning.

Exempel 1: Konvertera endimensionell array till tvådimensionell array

Följande exempel visar funktionen omforma () för att konvertera en endimensionell NumPy-array till en tvådimensionell NumPy-array. Arange () -funktionen används i skriptet för att skapa en endimensionell matris med 10 element. Den första omformningsfunktionen () används för att konvertera den endimensionella matrisen till den tvådimensionella matrisen med 2 rader och 5 kolumner. Här kallas funktionen omformning () med hjälp av modulnamnet, np. Den andra omformningsfunktionen () används för att konvertera den endimensionella matrisen till den tvådimensionella matrisen med 5 rader och 2 kolumner. Här anropas funktionen omforma () med hjälp av NumPy-matrisen som heter np_array.

# Importera NumPy
importera numpy som np
# Skapa en NumPy-array med intervallvärden
np_array = np.arange (10)
# Skriv ut värdena för NumPy-matrisen
print ("Värdena för NumPy-matrisen: \ n", np_array)
# Forma om matrisen med två rader och 5 kolumner
new_array = np.omforma (np_array, (2, 5))
# Skriv ut de omformade värdena
skriv ut ("\ nDen omformade matrisen med två rader och 5 kolumner: \ n", new_array)
# Omforma array med 5 rader och 2 kolumner
new_array = np_array.omforma (5, 2)
# Skriv ut de omformade värdena
skriv ut ("\ nDen omformade matrisen med 5 rader och två kolumner: \ n", new_array)

Produktion:

Följande utdata visas efter att ovanstående skript har körts. Den första utgången visar huvudmatrisen. Den andra och tredje utgången visar den omformade matrisen.

Exempel 2: Konvertera endimensionell array till tredimensionell array

Följande exempel visar funktionen omforma () för att konvertera en endimensionell NumPy-array till en tredimensionell NumPy-array. array () -funktionen används i skriptet för att skapa en endimensionell array med 12 element. reshape () -funktionen används för att konvertera den skapade endimensionella matrisen till den tredimensionella matrisen. Här anropas funktionen omforma () med hjälp av NumPy-matrisen som heter np_array.

# Importera NumPy
importera numpy som np
# Skapa en NumPy-array med hjälp av listan
np_array = np.array ([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
# Skriv ut värdena för NumPy-matrisen
print ("Värdena för NumPy-matrisen: \ n", np_array)
# Skapa en tredimensionell matris från en endimensionell matris
new_array = np_array.omforma (2, 2, 3)
# Skriv ut de omformade värdena
print ("\ nDe omformade 3D-matrisvärdena är: \ n", new_array)

Produktion:

Följande utdata visas efter att ovanstående skript har körts. Den första utgången visar huvudmatrisen. Den andra utgången visar den omformade matrisen.

Exempel 3: Omforma NumPy-matrisen baserat på beställning

Följande exempel visar funktionen omforma () för att konvertera en endimensionell NumPy-array till en tvådimensionell NumPy-array med olika typer av order. Arange () -funktionen används i skriptet för att skapa en endimensionell matris med 15 element. Den första omformningen () -funktionen används för att skapa en tvådimensionell matris med 3 rader och 5 kolumner med C-ordning. Den andra omformningsfunktionen () används för att skapa en tvådimensionell matris med 3 rader och 5 kolumner med Fortran-stilordning.

# Importera NumPy
importera numpy som np
# Skapa en NumPy-array med intervallvärden
np_array = np.arange (15)
# Skriv ut värdena för NumPy-matrisen
print ("Värdena för NumPy-matrisen: \ n", np_array)
# Forma om arrayen baserat på C-stilbeställning
new_array1 = np.omforma (np_array, (3, 5), order = 'C')
# Skriv ut de omformade värdena
print ("\ nDe omformade 2D-matrisvärden baserade på C-stilbeställning är: \ n", new_array1)
# Forma om matrisen baserat på Fortran-stil beställning
new_array2 = np.omforma (np_array, (3, 5), order = 'F')
# Skriv ut de omformade värdena
print ("\ nDen omformade 2D-matrisvärden baserade med Fortran-stilbeställning är: \ n", new_array2)

Produktion:

Följande utdata visas efter att ovanstående skript har körts. Den första utgången visar huvudvärdena av värden. Den andra utgången visar matrisvärdena med radbaserad ordning. Den tredje utgången visar matrisvärdena med kolumnbaserad ordning.

Slutsats

Sätten att konvertera matrisen från en form till en annan form med hjälp av funktionen omforma () har beskrivits i denna handledning. Syftet med att använda reshape () -funktionen kommer att rensas efter att ha övat på exemplen i denna handledning, och läsarna kommer att kunna använda den här funktionen i sitt python-skript.

Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...