Трансляція

Вступ до NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Вступ до трансляції

 

Графіка: додавання двох масивів із різними формами

Вступ до NumPy

Трансляція скаляра

Зображення: до 2D-масиву додають число 2  

Зображення: до 2D-масиву додають будь-який масив із двійок тієї ж форми

Вступ до NumPy

Правила сумісності

  • NumPy порівнює набори розмірностей масивів справа наліво  

 

 

 

 

Графіка: застосування правил сумісності до форм масивів (10, 5) і (10, 1)

Вступ до NumPy

Правила сумісності

  • NumPy порівнює набори розмірностей масивів справа наліво
  • Дві розмірності сумісні, якщо...
    • Одна з них має довжину 1, або
    • Вони мають однакову довжину
  • Усі набори розмірностей мають бути сумісні

 

Графіка: застосування правил сумісності до форм масивів (10, 5) і (10, 1)

Вступ до NumPy

Сумісні чи ні?

 

Сумісні форми для трансляції:

  • (10, 5) і (10, 1)
  • (10, 5) і (5, )

 

Несумісні форми:

  • (10, 5) і (5, 10)
  • (10, 5) і (10, )
Вступ до NumPy

Трансляція рядків

Масив форми (2, 5) додається до масиву форми (1, 5)

 

array = np.arange(10).reshape((2, 5))
array + np.array([0, 1, 2, 3, 4])
array([[ 0,  2,  4,  6,  8],
       [ 5,  7,  9, 11, 13]])
Вступ до NumPy

Трансляція рядків

 

 

Масив форми (2, 5) додається до масиву форми (2, 5)

Вступ до NumPy

Несумісна трансляція

 

Графіка: додавання масиву форми (2, 5) до масиву форми (2,) спричиняє ValueError.

 

array = np.arange(10).reshape((2, 5))
array + np.array([0, 1])
ValueError: operands could not be broadcast together with shapes (2,5) (2,) 
Вступ до NumPy

Трансляція стовпців

Графіка: додавання масиву форми (2, 5) і масиву форми (2, 1)

array = np.arange(10).reshape((2, 5))
array + np.array([0, 1]).reshape((2, 1))
array([[ 0,  1,  2,  3,  4],
       [ 6,  7,  8,  9, 10]])
Вступ до NumPy

Трансляція стовпців

 

 

Графіка: одно-стовпчиковий масив розтягується за стовпцями до форми більшого масиву

Вступ до NumPy

Інші оператори

Масив форми (2, 2) множиться на масив форми (2, 1)

Із масиву форми (2, 2) віднімають масив форми (2, )

Вступ до NumPy

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

Вступ до NumPy

Preparing Video For Download...