субота, 1 травня 2021 р.

array(), copy(), array_equal(), empty(), range(), linspace()

Масив - це центральна структура даних бібліотеки NumPy. Всі елементи масиву мають однаковий тип, який визначається параметром dtype. Масив можна проіндексувати кортежем (tuple) цілих невід’ємних чисел, логічними значеннями, іншим масивом або цілими числами. Ранг масиву (rank), або розмірність це кількість його осей( axis). Форма масиву (shape) являє собою кортеж (або список) цілих чисел, що задають розміри масиву вздовж кожної осі.

Один із способів ініціалізувати масиви в NumPy є використання списків та вкладених списків Python.

a = np.array([1, 2, 3, 4, 5, 6])
a

array([1, 2, 3, 4, 5, 6])
або
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
a

array([[ 1,  2,  3,  4],
       [ 5,  6,  7,  8],
       [ 9, 10, 11, 12]]) 
Вказання типу масиву при ініціалізації
a = np.array([1, 2, 3, 4, 5, 6],dtype=np.uint8)
 
або після неї
a = a.astype(np.uint32) 
Функція np.empty() швидко створює масив заповнений випадковими даними
np.empty((3,4),dtype=np.uint8)
array([[160, 191,   2, 237],
       [ 94,   2,   0,   0],
       [  0,   0,   0,   0]], dtype=uint8) 
Створення копій масиву двома способами та порівняння масивів на рівність
b=np.copy(a)
c=a.copy()
np.array_equal(b, c)
True 
Створення масиву чисел
  np.arange([start, ]stop, [step, ]dtype=None) 
Приклад використання при різних значеннях параметрів
 # за умовчанням крок рівний 1
np.arange(4)
array([0, 1, 2, 3])
np.arange(4,12)
array([ 4,  5,  6,  7,  8,  9, 10, 11])
# з кроком 2
np.arange(2, 9, 2)
array([2, 4, 6, 8])
# з дробовим кроком
np.arange(0.1, 3.14, 0.45)
array([0.1 , 0.55, 1.  , 1.45, 1.9 , 2.35, 2.8 ]) 
Функція
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) 
задає масив із num елементів які рівномірно розподілені в замкнутому інтервалі [start, stop] і в напівзамкнутому [start, stop), якщо endpoint=False.

Приклади використання при різних значеннях параметрів

np.linspace(0, 1, num = 5)
array([0.  , 0.25, 0.5 , 0.75, 1.  ])
np.linspace(1, 10,10, endpoint=False, dtype=np.uint8)
array([1, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=uint8)
np.linspace(1, 10,10, endpoint=False)
array([1. , 1.9, 2.8, 3.7, 4.6, 5.5, 6.4, 7.3, 8.2, 9.1])
np.linspace(1, 10,10)
array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])
# при включеному параметрі retstep додатково повертається значення кроку 
a,step=np.linspace(0, 1,12, retstep = True)
a
array([0.        , 0.09090909, 0.18181818, 0.27272727, 0.36363636,
       0.45454545, 0.54545455, 0.63636364, 0.72727273, 0.81818182,
       0.90909091, 1.        ])
step=0.1111111111111111

Немає коментарів:

Дописати коментар