Стекування та розділення

Вступ до NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Зрізи вимірів

rgb = np.array([[[255, 0, 0], [255, 255, 0], [255, 255, 255]],
                [[255, 0, 255], [0, 255, 0], [0, 255, 255]],
                [[0, 0, 0], [0, 255, 255], [0, 0, 255]]])
red_array = rgb[:, :, 0]
green_array = rgb[:, :, 1]
blue_array = rgb[:, :, 2]
red_array
array([[255, 255, 255],
       [255,   0,   0],
       [0,   0,   0]])
Вступ до NumPy

Розділення масивів

red_array, green_array, blue_array = np.split(rgb, 3, axis=2)
red_array
array([[[255], [255], [255]],
       [[255], [  0], [  0]],
       [[  0], [  0], [  0]]])
red_array.shape
(3, 3, 1)
Вступ до NumPy

Хвостові виміри

red_array_2D = red_array.reshape((3, 3))
red_array_2D
array([[255, 255, 255],
       [255,   0,   0],
       [  0,   0,   0]])
red_array_2D.shape
(3, 3)
Вступ до NumPy

Правила поділу масиву

red_array, green_array, blue_array = np.split(rgb, 5, axis=2)
ValueError: array split does not result in an equal division
Вступ до NumPy

Сте кування масивів

  Стекування двох 2D-масивів один над одним створює 3D-масив

Вступ до NumPy

Побудова 2D-даних зображення

red_array, green_array, blue_array = np.split(logo_rgb_array, 3, axis=2)
plt.imshow(red_array)
plt.show()

Графік червоних значень логотипа NumPy

Вступ до NumPy

Сте кування 2D-масивів

red_array = np.zeros((1001, 1001)).astype(np.int32)
green_array = green_array.reshape((1001, 1001))
blue_array = blue_array.reshape((1001, 1001)) 
Вступ до NumPy

Сте кування 2D-масивів

stacked_rgb = np.stack([red_array, green_array, blue_array], axis=2)
plt.imshow(stacked_rgb)
plt.show()

Зображення логотипа NumPy, де всі червоні значення RGB замінено на нулі

Вступ до NumPy

Давайте потренуємось!

Вступ до NumPy

Preparing Video For Download...