Акробатика с массивами

Введение в NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Аугментация данных

Фотография пластиковой бутылки

Та же пластиковая бутылка, перевёрнутая вверх дном и отражённая

1 Фото пластиковой бутылки: Lilly_M, Wikimedia Commons
Введение в NumPy

Отражение массива

 

Логотип NumPy

flipped_logo = np.flip(logo_rgb_array)
plt.imshow(flipped_logo)
plt.show()

Логотип NumPy после применения np.flip()

Введение в NumPy

Отражение по оси

flipped_rows_logo = np.flip(logo_rgb_array, axis=0)
plt.imshow(flipped_rows_logo)
plt.show()

Логотип NumPy со строками пикселей в обратном порядке

Введение в NumPy

Отражение по оси

flipped_colors_logo = np.flip(logo_rgb_array, axis=2)
plt.imshow(flipped_colors_logo)
plt.show()

Логотип NumPy с переставленными значениями красного и синего каналов

Введение в NumPy

Отражение по нескольким осям

flipped_except_colors_logo = np.flip(logo_rgb_array, axis=(0, 1))
plt.imshow(flipped_except_colors_logo)
plt.show()

Логотип NumPy с отражёнными первой и второй осями, но без изменения третьей; цвета совпадают с оригиналом

Введение в NumPy

Транспонирование массива

array = np.array([[1.1, 1.2, 1.3], 
                  [2.1, 2.2, 2.3], 
                  [3.1, 3.2, 3.3], 
                  [4.1, 4.2, 4.3]])
np.flip(array)
array([[4.3, 4.2, 4.1],
       [3.3, 3.2, 3.1],
       [2.3, 2.2, 2.1],
       [1.3, 1.2, 1.1]])
array = np.array([[1.1, 1.2, 1.3], 
                  [2.1, 2.2, 2.3], 
                  [3.1, 3.2, 3.3], 
                  [4.1, 4.2, 4.3]])
np.transpose(array)
array([[1.1, 2.1, 3.1, 4.1],
       [1.2, 2.2, 3.2, 4.2],
       [1.3, 2.3, 3.3, 4.3]])
Введение в NumPy

Задание порядка осей при транспонировании

transposed_logo = np.transpose(logo_rgb_array, axes=(1, 0, 2))
plt.imshow(transposed_logo)
plt.show()

Логотип NumPy с транспонированными строками и столбцами: логотип выглядит отражённым и повёрнутым набок

Введение в NumPy

Давайте потренируемся!

Введение в NumPy

Preparing Video For Download...