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.
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])
Chcete-li vytvořit vícerozměrný objekt pole, použijte následující syntaxi.
>>> a = numpy.array([[1, 2, 3], [4, 5, 6]])
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)
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)
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.
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.
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]]