Skládání a rozdělování

Úvod do NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Řezání dimenzí

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]])
Úvod do NumPy

Rozdělování polí

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)
Úvod do NumPy

Koncové dimenze

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)
Úvod do NumPy

Pravidla dělení polí

red_array, green_array, blue_array = np.split(rgb, 5, axis=2)
ValueError: array split does not result in an equal division
Úvod do NumPy

Skládání polí

  Skládání dvou 2D polí na sebe vytváří 3D pole

Úvod do NumPy

Vykreslení 2D obrazových dat

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

Graf červených hodnot z loga NumPy

Úvod do NumPy

Skládání 2D polí

red_array = np.zeros((1001, 1001)).astype(np.int32)
green_array = green_array.reshape((1001, 1001))
blue_array = blue_array.reshape((1001, 1001)) 
Úvod do NumPy

Skládání 2D polí

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

Logo NumPy se všemi hodnotami červené složky RGB nahrazenými nulami

Úvod do NumPy

Lass uns üben!

Úvod do NumPy

Preparing Video For Download...