Gegevenswetenschap

De functie Python NumPy reshape() gebruiken

De functie Python NumPy reshape() gebruiken

NumPy-bibliotheek heeft veel functies om met de multidimensionale array te werken. reshape () functie is een van hen die wordt gebruikt om de vorm van een bestaande array te wijzigen zonder de gegevens te wijzigen. De vorm definieert het totale aantal elementen in elke dimensie.  De dimensie van de array kan worden toegevoegd of verwijderd en het aantal elementen in elke dimensie kan worden gewijzigd met de functie reshape(). De eendimensionale array kan worden omgezet in een multidimensionale array, maar de multidimensionale array kan met deze functie niet worden omgezet in een eendimensionale array. Hoe de functie () opnieuw vorm te geven, werkt en het gebruik ervan wordt uitgelegd in deze tutorial.

Syntaxis

De syntaxis van de functie reshape() wordt hieronder gegeven:.

np_array numpy.reshape(np_array, new_shape, order='C') 

Deze functie kan drie argumenten aannemen:. Het eerste en tweede argument zijn verplicht en het derde argument is optioneel. Een NumPy-array is de waarde van het eerste argument (np_array) die zal worden hervormd. De vorm van de array wordt ingesteld als het tweede argument (nieuwe vorm) waarde die een geheel getal of een tupel van gehele getallen kan zijn. De volgorde van de array wordt bepaald door het derde argument (bestellen) waarde die wordt gebruikt om de positie van het element van de hervormde array te definiëren. De waarde van het derde argument kan zijn 'C' of 'F' of 'EEN.'De bestelwaarde'C' wordt gebruikt voor indexvolgorde in C-stijl waarbij de laatste asindex sneller verandert en de eerste asindex langzamer. De bestelwaarde 'F' wordt gebruikt voor Fortran-stijl indexvolgorde waarbij de eerste asindex sneller verandert en de laatste asindex langzamer. Beide 'C' en 'F' bestellingen gebruiken geen geheugen. De bestelwaarde, 'EEN'werkt als'F,' maar het gebruikt geheugen.

Gebruik van reshape() functie:

U moet de NumPy-bibliotheek installeren voordat u de voorbeelden van deze zelfstudie kunt oefenen. Verschillende toepassingen van de functie reshape() zijn getoond in het deel van deze tutorial.

Voorbeeld-1: eendimensionale array converteren naar een tweedimensionale array

Het volgende voorbeeld toont de functie reshape() om een ​​eendimensionale NumPy-array om te zetten in een tweedimensionale NumPy-array. De functie arange() wordt in het script gebruikt om een ​​eendimensionale array van 10 elementen te maken. De eerste reshape()-functie wordt gebruikt om de eendimensionale array om te zetten in de tweedimensionale array van 2 rijen en 5 kolommen. Hier wordt de functie reshape() aangeroepen met behulp van de modulenaam, np. De tweede functie reshape() wordt gebruikt om de eendimensionale array om te zetten in de tweedimensionale array van 5 rijen en 2 kolommen. Hier wordt de functie reshape() aangeroepen met behulp van de NumPy-array genaamd np_array.

# NumPy importeren
importeer numpy als np
# Maak een NumPy-array met bereikwaarden
np_array = np.bereik(10)
#  Druk de NumPy-arraywaarden af
print("De waarden van NumPy-array: \n", np_array)
# Vorm de array opnieuw met 2 rijen en 5 kolommen
nieuwe_array = np.hervorm(np_array, (2, 5))
# Druk de hervormde waarden af
print("\nDe hervormde array met 2 rijen en 5 kolommen: \n", new_array)
# Vorm matrix opnieuw met 5 rijen en 2 kolommen
nieuwe_array = np_array.omvormen (5, 2)
# Druk de hervormde waarden af
print("\nDe hervormde array met 5 rijen en 2 kolommen: \n", new_array)

Uitgang::

De volgende uitvoer zal verschijnen na het uitvoeren van het bovenstaande script:. De eerste uitvoer toont de hoofdarray. De tweede en derde uitvoer tonen de hervormde array.

Voorbeeld-2: Eendimensionale array converteren naar een driedimensionale array

Het volgende voorbeeld toont de functie reshape() om een ​​eendimensionale NumPy-array om te zetten in een driedimensionale NumPy-array. De functie array() wordt in het script gebruikt om een ​​eendimensionale array van 12 elementen te maken. reshape() functie wordt gebruikt om de gemaakte eendimensionale array om te zetten in de driedimensionale array. Hier wordt de functie reshape() aangeroepen met behulp van de NumPy-array genaamd np_array.

# NumPy importeren
importeer numpy als np
# Maak een NumPy-array met list
np_array = np.reeks([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
#  Druk de NumPy-arraywaarden af
print("De waarden van NumPy-array: \n", np_array)
# Maak een driedimensionale array van een eendimensionale array
nieuwe_array = np_array.omvormen (2, 2, 3)
# Druk de hervormde waarden af
print("\nDe hervormde 3D-arraywaarden zijn: \n", new_array)

Uitgang::

De volgende uitvoer zal verschijnen na het uitvoeren van het bovenstaande script:. De eerste uitvoer toont de hoofdarray. De tweede uitvoer toont de hervormde array.

Voorbeeld-3: NumPy-array opnieuw vormgeven op basis van volgorde

Het volgende voorbeeld toont de functie reshape() om een ​​eendimensionale NumPy-array om te zetten in een tweedimensionale NumPy-array met verschillende soorten orders. De functie arange() wordt in het script gebruikt om een ​​eendimensionale array van 15 elementen te maken. De eerste functie reshape() wordt gebruikt om een ​​tweedimensionale array van 3 rijen en 5 kolommen te maken met volgorde in C-stijl. De tweede functie reshape() wordt gebruikt om een ​​tweedimensionale array van 3 rijen en 5 kolommen te maken met volgorde in Fortran-stijl.

# NumPy importeren
importeer numpy als np
# Maak een NumPy-array met bereikwaarden
np_array = np.bereik(15)
#  Druk de NumPy-arraywaarden af
print("De waarden van NumPy-array: \n", np_array)
# Vorm de array opnieuw op basis van volgorde in C-stijl
nieuwe_array1 = np.reshape(np_array, (3, 5), order='C')
# Druk de hervormde waarden af
print("\nDe hervormde 2D-arraywaarden op basis van C-stijlvolgorde zijn: \n", new_array1)
# Geef de array een nieuwe vorm op basis van de volgorde in Fortran-stijl
nieuwe_array2 = np.reshape(np_array, (3, 5), order='F')
# Druk de hervormde waarden af
print("\nDe hervormde 2D-arraywaarden op basis van volgorde in Fortran-stijl zijn: \n", new_array2)

Uitgang::

De volgende uitvoer zal verschijnen na het uitvoeren van het bovenstaande script:. De eerste uitvoer toont de belangrijkste reeks waarden. De tweede uitvoer toont de matrixwaarden met op rijen gebaseerde volgorde. De derde uitvoer toont de matrixwaarden met op kolommen gebaseerde volgorde.

Conclusie

De manieren om de array van de ene vorm naar een andere vorm te converteren met behulp van de functie reshape() zijn beschreven in deze zelfstudie. Het doel van het gebruik van de functie reshape() zal worden gewist na het oefenen van de voorbeelden van deze tutorial, en de lezers zullen deze functie in hun python-script kunnen gebruiken.

Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...
HD Remastered Games voor Linux die nog nooit eerder een Linux-release hebben gehad
Veel game-ontwikkelaars en uitgevers komen met HD-remaster van oude games om de levensduur van franchise te verlengen, fans die compatibiliteit met mo...
Hoe AutoKey te gebruiken om Linux-spellen te automatiseren
AutoKey is een hulpprogramma voor desktopautomatisering voor Linux en X11, geprogrammeerd in Python 3, GTK en Qt. Met behulp van de scripting- en MACR...