Data Science

Jak používat funkci Python NumPy reshape ()

Jak používat funkci Python NumPy reshape ()

Knihovna NumPy má mnoho funkcí pro práci s vícerozměrným polem. Funkce reshape () je jednou z nich, která se používá ke změně tvaru jakéhokoli existujícího pole bez změny dat. Tvar definuje celkový počet prvků v každé dimenzi.  Dimenzi pole lze přidat nebo odebrat a počet prvků v každé dimenzi lze upravit pomocí funkce reshape (). Jednorozměrné pole lze převést na vícerozměrné pole, ale vícerozměrné pole nelze touto funkcí převést na jednorozměrné pole. Jak funguje funkce reshape () a její použití je vysvětleno v tomto kurzu.

Syntax

Syntaxe funkce reshape () je uvedena níže.

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

Tato funkce může trvat tři argumenty. První a druhý argument jsou povinné a třetí argument je volitelný. Pole NumPy je hodnota prvního argumentu (np_array), které budou přetvořeny. Tvar pole je nastaven jako druhý argument (new_shape) hodnota, která může být celé číslo nebo n-tice celých čísel. Pořadí pole je nastaveno třetím argumentem (objednat) hodnota použitá k definování polohy prvku v pozměněném poli. Hodnota třetího argumentu může být „C'nebo'F'nebo'A.„Hodnota objednávky“C'se používá pro řazení indexů ve stylu C, kde se index poslední osy mění rychleji a index první osy se mění pomaleji. Hodnota objednávky 'F'se používá pro řazení indexů ve stylu Fortran, kde se index první osy mění rychleji a index poslední osy se mění pomaleji. Oba 'C' a 'F„objednávky nevyužívají paměť. Hodnota objednávky, 'A„funguje jako“F,„ale využívá paměť.

Použití funkce reshape ():

Před procvičením příkladů tohoto tutoriálu si musíte nainstalovat knihovnu NumPy. V části tohoto kurzu se ukázaly různé způsoby použití funkce reshape ().

Příklad 1: Převést jednorozměrné pole na dvourozměrné pole

Následující příklad ukazuje funkci reshape () pro převod jednorozměrného pole NumPy na dvourozměrné pole NumPy. Funkce arange () se ve skriptu používá k vytvoření jednorozměrného pole 10 prvků. První funkce reshape () se používá k převodu jednorozměrného pole na dvourozměrné pole 2 řádků a 5 sloupců. Zde je funkce reshape () volána pomocí názvu modulu, np. Druhá funkce reshape () slouží k převodu jednorozměrného pole na dvourozměrné pole o 5 řádcích a 2 sloupcích. Zde je funkce reshape () volána pomocí pojmenovaného pole NumPy np_array.

# Import NumPy
importovat numpy jako np
# Vytvořte pole hodnot NumPy
np_array = np.arange (10)
# Vytiskněte hodnoty pole NumPy
print ("Hodnoty pole NumPy: \ n", np_array)
# Upravte pole se 2 řádky a 5 sloupci
new_array = np.reshape (np_array, (2, 5))
# Vytiskněte upravené hodnoty
print ("\ nZměněné pole se 2 řádky a 5 sloupci: \ n", new_array)
# Změna tvaru pole s 5 řádky a 2 sloupci
new_array = np_array.přetvořit (5, 2)
# Vytiskněte přetvořené hodnoty
print ("\ nZměněné pole s 5 řádky a 2 sloupci: \ n", new_array)

Výstup:

Po provedení výše uvedeného skriptu se zobrazí následující výstup. První výstup ukazuje hlavní pole. Druhý a třetí výstup ukazuje přetvořené pole.

Příklad 2: Převést jednorozměrné pole na trojrozměrné pole

Následující příklad ukazuje funkci reshape () pro převod jednorozměrného pole NumPy na trojrozměrné pole NumPy. funkce array () se ve skriptu používá k vytvoření jednorozměrného pole 12 prvků. Funkce reshape () se používá k převodu vytvořeného jednorozměrného pole na trojrozměrné pole. Zde je funkce reshape () volána pomocí pojmenovaného pole NumPy np_array.

# Import NumPy
importovat numpy jako np
# Vytvořte pole NumPy pomocí seznamu
np_array = np.pole ([7, 3, 9, 11, 4, 23, 71, 2, 32, 6, 16, 2])
# Vytiskněte hodnoty pole NumPy
print ("Hodnoty pole NumPy: \ n", np_array)
# Vytvořte trojrozměrné pole z jednorozměrného pole
new_array = np_array.změnit tvar (2, 2, 3)
# Vytiskněte upravené hodnoty
print ("\ nTvarované hodnoty pole 3D jsou: \ n", new_array)

Výstup:

Po provedení výše uvedeného skriptu se zobrazí následující výstup. První výstup ukazuje hlavní pole. Druhý výstup ukazuje přetvořené pole.

Příklad 3: Upravte pole NumPy na základě objednání

Následující příklad ukazuje funkci reshape () pro převod jednorozměrného pole NumPy na dvourozměrné pole NumPy s různými typy objednávek. Funkce arange () se ve skriptu používá k vytvoření jednorozměrného pole 15 prvků. První funkce reshape () se používá k vytvoření dvourozměrného pole 3 řádků a 5 sloupců s uspořádáním ve stylu C. Druhá funkce reshape () se používá k vytvoření dvourozměrného pole 3 řádků a 5 sloupců s uspořádáním ve stylu Fortran.

# Import NumPy
importovat numpy jako np
# Vytvořte pole hodnot NumPy
np_array = np.arange (15)
# Vytiskněte hodnoty pole NumPy
print ("Hodnoty pole NumPy: \ n", np_array)
# Přetvarujte pole na základě objednávání ve stylu C
new_array1 = np.reshape (np_array, (3, 5), order = 'C')
# Vytiskněte upravené hodnoty
print ("\ nTvarované hodnoty 2D pole založené na řazení ve stylu C jsou: \ n", new_array1)
# Přetvarujte pole na základě Fortranského uspořádání
new_array2 = np.reshape (np_array, (3, 5), order = 'F')
# Vytiskněte přetvořené hodnoty
print ("\ nTvarované hodnoty 2D pole založené na uspořádání ve stylu Fortran jsou: \ n", new_array2)

Výstup:

Po provedení výše uvedeného skriptu se zobrazí následující výstup. První výstup ukazuje hlavní pole hodnot. Druhý výstup ukazuje hodnoty pole s řádkovým uspořádáním. Třetí výstup ukazuje hodnoty pole s uspořádáním podle sloupců.

Závěr

Způsoby převodu pole z jednoho tvaru na jiný tvar pomocí funkce reshape () byly popsány v tomto kurzu. Účel použití funkce reshape () bude objasněn po procvičení příkladů tohoto tutoriálu a čtenáři budou moci tuto funkci používat ve svém skriptu pythonu.

Hry Výukový program Shadow of the Tomb Raider pro Linux
Výukový program Shadow of the Tomb Raider pro Linux
Shadow of the Tomb Raider je dvanáctý přírůstek do série Tomb Raider - série akčních adventur vytvořená Eidosem Montrealem. Tato hra byla docela dobře...
Hry Jak zvýšit FPS v Linuxu?
Jak zvýšit FPS v Linuxu?
FPS znamená Snímků za sekundu. Úkolem FPS je měřit snímkovou frekvenci při přehrávání videa nebo herních výkonech. Jednoduše řečeno, počet nepřerušova...
Hry Nejlepší hry Oculus App Lab
Nejlepší hry Oculus App Lab
Pokud jste vlastníkem náhlavní soupravy Oculus, musíte mít informace o bočním nakládání. Sideloading je proces instalace neukládaného obsahu do náhlav...