Транслирование

Введение в NumPy

Izzy Weber

Core Curriculum Manager, DataCamp

Введение в транслирование

 

Графика, показывающая сложение двух массивов с разными формами

Введение в NumPy

Транслирование скаляра

Изображение двумерного массива, к которому прибавляется число 2  

Изображение двумерного массива, к которому прибавляется массив из двоек той же формы

Введение в NumPy

Правила совместимости

  • NumPy сравнивает размерности массивов справа налево  

 

 

 

 

Графика с применением правил совместимости к массивам формы (10, 5) и (10, 1)

Введение в NumPy

Правила совместимости

  • NumPy сравнивает размерности массивов справа налево
  • Две размерности совместимы, если...
    • Одна из них равна единице или
    • Они равны между собой
  • Все пары размерностей должны быть совместимы

 

Графика с применением правил совместимости к массивам формы (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...