Основи масивів NumPy
NumPy розшифровується як Numerical Python. Це бібліотека Python, яка використовується для роботи з масивом. У Python ми використовуємо список для масиву, але він повільно обробляється. Масив NumPy — це потужний об’єкт N-вимірного масиву, який використовується в лінійній алгебрі, перетворенні Фур’є та можливостях випадкових чисел. Він надає об’єкт масиву набагато швидше, ніж традиційні списки Python.
Типи масиву:
- Одновимірний масив
- Багатовимірний масив
Одновимірний масив:
Одновимірний масив — це тип лінійного масиву.
Одновимірний масив
приклад:
Python3 # importing numpy module import numpy as np # creating list list = [1, 2, 3, 4] # creating numpy array sample_array = np.array(list) print('List in python : ', list) print('Numpy Array in python :', sample_array)
Вихід:
List in python : [1, 2, 3, 4] Numpy Array in python : [1 2 3 4]
Перевірте тип даних для списку та масиву:
Python3 print(type(list_1)) print(type(sample_array))
Вихід:
Багатовимірний масив:
Дані в багатовимірних масивах зберігаються в табличній формі.
Двовимірний масив
приклад:
Python3 # importing numpy module import numpy as np # creating list list_1 = [1, 2, 3, 4] list_2 = [5, 6, 7, 8] list_3 = [9, 10, 11, 12] # creating numpy array sample_array = np.array([list_1, list_2, list_3]) print('Numpy multi dimensional array in python
', sample_array) Вихід:
Numpy multi dimensional array in python [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]
Примітка: використовувати [ ] оператори всередині numpy.array() для багатовимірного
Анатомія масиву:
1. Вісь: Вісь масиву описує порядок індексування в масиві.
Вісь 0 = одновимірна
Вісь 1 = двовимірна
Вісь 2 = тривимірна
2. Форма: Кількість елементів разом із кожною віссю. Це з кортежу.
приклад:
Python3 # importing numpy module import numpy as np # creating list list_1 = [1, 2, 3, 4] list_2 = [5, 6, 7, 8] list_3 = [9, 10, 11, 12] # creating numpy array sample_array = np.array([list_1, list_2, list_3]) print('Numpy array :') print(sample_array) # print shape of the array print('Shape of the array :', sample_array.shape) Вихід:
Numpy array : [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]] Shape of the array : (3, 4)
приклад:
Python3 import numpy as np sample_array = np.array([[0, 4, 2], [3, 4, 5], [23, 4, 5], [2, 34, 5], [5, 6, 7]]) print('shape of the array :', sample_array.shape) Вихід:
shape of the array : (5, 3)
3. Ранг: Ранг масиву – це просто кількість осей (або розмірів), які він має.
Одновимірний масив має ранг 1.
Ранг 1
Двовимірний масив має ранг 2.
Ранг 2
4. Об'єкти типу даних (dtype): Об’єкти типу даних (dtype) є екземпляром numpy.dtype клас. Він описує, як слід інтерпретувати байти в блоці пам’яті фіксованого розміру, що відповідає елементу масиву.
приклад:
Python3 # Import module import numpy as np # Creating the array sample_array_1 = np.array([[0, 4, 2]]) sample_array_2 = np.array([0.2, 0.4, 2.4]) # display data type print('Data type of the array 1 :', sample_array_1.dtype) print('Data type of array 2 :', sample_array_2.dtype) Вихід:
Data type of the array 1 : int32 Data type of array 2 : float64
Деякі інші способи створення масиву Numpy:
1. numpy.array() : Об’єкт масиву Numpy у Numpy називається ndarray. Ми можемо створити ndarray за допомогою numpy.array() функція.
Синтаксис: numpy.array(параметр)
приклад:
Python3 # import module import numpy as np #creating a array arr = np.array([3,4,5,5]) print('Array :',arr) Вихід:
Array : [3 4 5 5]
2. numpy.fromiter() : Функція fromiter() створює новий одновимірний масив із ітерованого об’єкта.
Синтаксис: numpy.fromiter(iterable, dtype, count=-1)
приклад 1:
Python3 #Import numpy module import numpy as np # iterable iterable = (a*a for a in range(8)) arr = np.fromiter(iterable, float) print('fromiter() array :',arr) Вихід:
масив fromiter(): [ 0. 1. 4. 9. 16. 25. 36. 49.]
приклад 2:
Python3 import numpy as np var = 'Geekforgeeks' arr = np.fromiter(var, dtype = 'U2') print('fromiter() array :', arr) Вихід:
fromiter() масив: [‘G’ ‘e’ ‘e’ ‘k’ ‘f’ ‘o’ ‘r’ ‘g’ ‘e’ ‘e’ ‘k’ ‘s’]
3. numpy.arange() : Це вбудована функція NumPy, яка повертає рівномірно розподілені значення в заданому інтервалі.
Синтаксис: numpy.arange([початок, ]зупинка, [крок, ]dtype=немає)
приклад:
Python3 import numpy as np np.arange(1, 20 , 2, dtype = np.float32)
Вихід:
масив ([ 1., 3., 5., 7., 9., 11., 13., 15., 17., 19.], dtype=float32)
4. numpy.linspace() : Ця функція повертає рівномірно розташовані числа за вказаним між двома межами.
Синтаксис: numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
приклад 1:
Python3 import numpy as np np.linspace(3.5, 10, 3)
Вихід:
array([ 3.5 , 6.75, 10. ])
приклад 2:
Python3 import numpy as np np.linspace(3.5, 10, 3, dtype = np.int32)
Вихід:
array([ 3, 6, 10])
5. numpy.empty() : Ця функція створює новий масив заданої форми та типу без ініціалізації значення.
Синтаксис: numpy.empty(форма, dtype=float, order=’C’)
приклад:
Python3 import numpy as np np.empty([4, 3], dtype = np.int32, order = 'f')
Вихід:
array([[ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11], [ 4, 8, 12]])
6. numpy.ones(): Ця функція використовується для отримання нового масиву заданої форми та типу, заповненого одиницями (1).
Синтаксис: numpy.ones(shape, dtype=None, order=’C’)
приклад:
Python3 import numpy as np np.ones([4, 3], dtype = np.int32, order = 'f')
Вихід:
array([[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]])
7. numpy.zeros() : Ця функція використовується для отримання нового масиву заданої форми та типу, заповненого нулями (0).
Синтаксис: numpy.ones(форма, dtype=немає)
приклад:
Python3 import numpy as np np.zeros([4, 3], dtype = np.int32, order = 'f')
Вихід:
array([[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]])