logo

NumPy Ndarray

Ndarray je objekt n-rozměrného pole definovaný v numpy, který ukládá kolekci prvků podobného typu. Jinými slovy, můžeme definovat ndarray jako kolekci objektů datového typu (dtype).

K objektu ndarray lze přistupovat pomocí indexování založeného na 0. Každý prvek objektu Array obsahuje v paměti stejnou velikost.

Vytvoření objektu ndarray

Objekt ndarray lze vytvořit pomocí rutiny pole modulu numpy. Za tímto účelem musíme importovat numpy.

 >>> a = numpy.array 

Zvažte níže uvedený obrázek.

NumPy Ndarray

Můžeme také předat objekt kolekce do rutiny pole a vytvořit ekvivalentní n-rozměrné pole. Syntaxe je uvedena níže.

 >>> numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) 

Parametry jsou popsány v následující tabulce.

SN Parametr Popis
1 objekt Představuje objekt sbírky. Může to být seznam, n-tice, slovník, sada atd.
2 dtype Datový typ prvků pole můžeme změnit změnou této volby na zadaný typ. Výchozí hodnota je žádná.
3 kopírovat Je to nepovinné. Ve výchozím nastavení je to true, což znamená, že se objekt zkopíruje.
4 objednat Této možnosti mohou být přiřazeny 3 možné hodnoty. Může to být C (pořadí sloupců), R (pořadí řádků) nebo A (libovolné)
5 testováno Vrácené pole bude ve výchozím nastavení pole základní třídy. Můžeme to změnit, aby podtřídy procházely, nastavením této volby na true.
6 ndmin Představuje minimální rozměry výsledného pole.

Chcete-li vytvořit pole pomocí seznamu, použijte následující syntaxi.

 >>> a = numpy.array([1, 2, 3]) 
NumPy Ndarray

Chcete-li vytvořit vícerozměrný objekt pole, použijte následující syntaxi.

 >>> a = numpy.array([[1, 2, 3], [4, 5, 6]]) 
NumPy Ndarray

Chcete-li změnit datový typ prvků pole, uveďte název datového typu spolu s kolekcí.

java struktura
 >>> a = numpy.array([1, 3, 5, 7], complex) 
NumPy Ndarray

Zjištění rozměrů pole

The to jsem já funkci lze použít k nalezení rozměrů pole.

 >>> import numpy as np >>> arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]]) >>> print(arr.ndim) 
NumPy Ndarray

Zjištění velikosti každého prvku pole

Funkce itemsize se používá k získání velikosti každé položky pole. Vrací počet bajtů zabraných každým prvkem pole.

xd xd význam

Zvažte následující příklad.

Příklad

 #finding the size of each item in the array import numpy as np a = np.array([[1,2,3]]) print('Each item contains',a.itemsize,'bytes') 

Výstup:

 Each item contains 8 bytes. 

Nalezení datového typu každé položky pole

Pro kontrolu datového typu každé položky pole se používá funkce dtype. Zvažte následující příklad a zkontrolujte datový typ položek pole.

Příklad

 #finding the data type of each array item import numpy as np a = np.array([[1,2,3]]) print('Each item is of the type',a.dtype) 

Výstup:

 Each item is of the type int64 

Nalezení tvaru a velikosti pole

K získání tvaru a velikosti pole se používá funkce size and shape spojená s numpy polem.

Zvažte následující příklad.

Příklad

 import numpy as np a = np.array([[1,2,3,4,5,6,7]]) print('Array Size:',a.size) print('Shape:',a.shape) 

Výstup:

 Array Size: 7 Shape: (1, 7) 

Změna tvaru objektů pole

Tvarem pole rozumíme počet řádků a sloupců vícerozměrného pole. Numpy modul nám však poskytuje způsob, jak přetvořit pole změnou počtu řádků a sloupců vícerozměrného pole.

K přetvoření pole se používá funkce reshape() spojená s objektem ndarray. Přijímá dva parametry označující řádek a sloupce nového tvaru pole.

Pojďme přetvořit pole uvedené na následujícím obrázku.

NumPy Ndarray

Příklad

 import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print('printing the original array..') print(a) a=a.reshape(2,3) print('printing the reshaped array..') print(a) 

Výstup:

 printing the original array.. [[1 2] [3 4] [5 6]] printing the reshaped array.. [[1 2 3] [4 5 6]] 

Krájení v poli

Slicování v poli NumPy je způsob, jak extrahovat řadu prvků z pole. Slicování v poli se provádí stejným způsobem, jako se provádí v seznamu python.

sharwanand

Zvažte následující příklad pro tisk konkrétního prvku pole.

Příklad

 import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print(a[0,1]) print(a[2,0]) 

Výstup:

 2 5 

Výše uvedený program vytiskne 2ndprvek z 0čtindex a 0čtprvek z 2ndindex pole.

Linspace

Funkce linspace() vrací rovnoměrně rozložené hodnoty v daném intervalu. Následující příklad vrátí 10 rovnoměrně oddělených hodnot v daném intervalu 5-15

Příklad

 import numpy as np a=np.linspace(5,15,10) #prints 10 values which are evenly spaced over the given interval 5-15 print(a) 

Výstup:

 [ 5. 6.11111111 7.22222222 8.33333333 9.44444444 10.55555556 11.66666667 12.77777778 13.88888889 15. ] 

Nalezení maxima, minima a součtu prvků pole

NumPy poskytuje funkce max(), min() a sum(), které se používají k nalezení maxima, minima a součtu prvků pole.

Zvažte následující příklad.

Příklad

 import numpy as np a = np.array([1,2,3,10,15,4]) print('The array:',a) print('The maximum element:',a.max()) print('The minimum element:',a.min()) print('The sum of the elements:',a.sum()) 

Výstup:

 The array: [ 1 2 3 10 15 4] The maximum element: 15 The minimum element: 1 The sum of the elements: 35 

NumPy Array Axis

Vícerozměrné pole NumPy je reprezentováno osou, kde osa-0 představuje sloupce a osa-1 představuje řádky. Můžeme zmínit osu pro provádění výpočtů na úrovni řádku nebo sloupce, jako je přidání prvků řádku nebo sloupce.

NumPy Ndarray

Chcete-li vypočítat maximální prvek mezi každým sloupcem, minimální prvek mezi každým řádkem a sečíst všechny prvky řádku, zvažte následující příklad.

stránky java serveru

Příklad

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) print('The array:',a) print('The maximum elements of columns:',a.max(axis = 0)) print('The minimum element of rows',a.min(axis = 1)) print('The sum of all rows',a.sum(axis = 1)) 

Výstup:

 The array: [[1 2 30] [10 15 4]] The maximum elements of columns: [10 15 30] The minimum element of rows [1 4] The sum of all rows [33 29] 

Hledání druhé odmocniny a směrodatné odchylky

Funkce sqrt() a std() spojené s numpy polem se používají k nalezení druhé odmocniny a směrodatné odchylky prvků pole.

Směrodatná odchylka znamená, jak moc se každý prvek pole liší od střední hodnoty numpy pole.

Zvažte následující příklad.

Příklad

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) print(np.sqrt(a)) print(np.std(a)) 

Výstup:

 [[1. 1.41421356 5.47722558] [3.16227766 3.87298335 2. ]] 10.044346115546242 

Aritmetické operace na poli

Numpy modul nám umožňuje provádět aritmetické operace na vícerozměrných polích přímo.

V následujícím příkladu se aritmetické operace provádějí na dvou vícerozměrných polích a a b.

Příklad

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) b = np.array([[1,2,3],[12, 19, 29]]) print('Sum of array a and b
',a+b) print('Product of array a and b
',a*b) print('Division of array a and b
',a/b) 

Zřetězení pole

Numpy nám poskytuje vertikální stohování a horizontální stohování, které nám umožňuje zřetězit dvě vícerozměrná pole vertikálně nebo horizontálně.

Zvažte následující příklad.

Příklad

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) b = np.array([[1,2,3],[12, 19, 29]]) print('Arrays vertically concatenated
',np.vstack((a,b))); print('Arrays horizontally concatenated
',np.hstack((a,b))) 

Výstup:

 Arrays vertically concatenated [[ 1 2 30] [10 15 4] [ 1 2 3] [12 19 29]] Arrays horizontally concatenated [[ 1 2 30 1 2 3] [10 15 4 12 19 29]]