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 NumPyimportovat 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 NumPyimportovat 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 NumPyimportovat 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.