Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Базові Математичні Операції | Математика з NumPy
Ultimate NumPy

bookБазові Математичні Операції

Тепер, коли ви ознайомилися з поняттям трансляції (broadcasting), розглянемо основні математичні операції в NumPy.

Операції зі скалярами

Пам'ятайте, трансляція дозволяє виконувати математичні операції між двома масивами сумісних форм або між масивом і скаляром.

1234567891011
import numpy as np array = np.array([1, 2, 3, 4]) # Scalar addition result_add_scalar = array + 2 print(f'Scalar addition: {result_add_scalar}') # Scalar multiplication result_mul_scalar = array * 3 print(f'Scalar multiplication: {result_mul_scalar}') # Raising an array to a scalar power result_power_scalar = array ** 3 print(f'Scalar exponentiation: {result_power_scalar}')
copy

Як видно, кожна операція виконується елементно над масивом. По суті, скаляр транслюється (broadcast) до масиву тієї ж форми, що й наш початковий array, де всі елементи мають однакове значення. Таким чином, операція виконується для кожної пари відповідних елементів двох масивів.

Операції між двома масивами

Якщо форми двох масивів сумісні, за потреби виконується трансляція (broadcasting), і знову ж таки, операція виконується елементно:

123456789101112
import numpy as np arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation: {result_power}')
copy

Ділення, віднімання та інші арифметичні операції виконуються аналогічно. Ось ще один приклад, де другий (правий) масив транслюється:

123456789101112
import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([5, 6, 7]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation:\n{result_power}')
copy

arr_2 транслюється у двовимірний масив з двома однаковими рядками, кожен з яких містить масив [5, 6, 7].

Застосування

Такі математичні операції є необхідними для завдань масштабування, нормалізації та перетворення даних у машинному навчанні та статистичному аналізі. Вони забезпечують ефективні поелементні операції для об'єднання наборів даних, виконання чисельних симуляцій і застосування фільтрів у обробці зображень та сигналів. Крім того, ці операції широко використовуються у наукових обчисленнях і дата-орієнтованих застосуваннях.

Завдання

Swipe to start coding

Ви аналізуєте квартальні продажі двох продуктів у 2021 та 2022 роках, які зберігаються у двох двовимірних масивах:

  • sales_data_2021: квартальні продажі кожного продукту у 2021 році, кожен рядок відповідає окремому продукту;
  • sales_data_2022: квартальні продажі кожного продукту у 2022 році, кожен рядок відповідає окремому продукту.

Обчисліть квартальне зростання доходу для кожного продукту у відсотках.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 2
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain more about how broadcasting works with arrays of different shapes?

What happens if the shapes of the arrays are not compatible for broadcasting?

Can you give more real-world examples where broadcasting is useful?

close

Awesome!

Completion rate improved to 3.7

bookБазові Математичні Операції

Свайпніть щоб показати меню

Тепер, коли ви ознайомилися з поняттям трансляції (broadcasting), розглянемо основні математичні операції в NumPy.

Операції зі скалярами

Пам'ятайте, трансляція дозволяє виконувати математичні операції між двома масивами сумісних форм або між масивом і скаляром.

1234567891011
import numpy as np array = np.array([1, 2, 3, 4]) # Scalar addition result_add_scalar = array + 2 print(f'Scalar addition: {result_add_scalar}') # Scalar multiplication result_mul_scalar = array * 3 print(f'Scalar multiplication: {result_mul_scalar}') # Raising an array to a scalar power result_power_scalar = array ** 3 print(f'Scalar exponentiation: {result_power_scalar}')
copy

Як видно, кожна операція виконується елементно над масивом. По суті, скаляр транслюється (broadcast) до масиву тієї ж форми, що й наш початковий array, де всі елементи мають однакове значення. Таким чином, операція виконується для кожної пари відповідних елементів двох масивів.

Операції між двома масивами

Якщо форми двох масивів сумісні, за потреби виконується трансляція (broadcasting), і знову ж таки, операція виконується елементно:

123456789101112
import numpy as np arr1 = np.array([1, 2, 3, 4]) arr2 = np.array([5, 6, 7, 8]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation: {result_power}')
copy

Ділення, віднімання та інші арифметичні операції виконуються аналогічно. Ось ще один приклад, де другий (правий) масив транслюється:

123456789101112
import numpy as np arr1 = np.array([[1, 2, 3], [4, 5, 6]]) arr2 = np.array([5, 6, 7]) # Element-wise addition result_add = arr1 + arr2 print(f'Element-wise addition: {result_add}') # Element-wise multiplication result_mul = arr1 * arr2 print(f'Element-wise multiplication: {result_mul}') # Element-wise exponentiation (raising to power) result_power = arr1 ** arr2 print(f'Element-wise exponentiation:\n{result_power}')
copy

arr_2 транслюється у двовимірний масив з двома однаковими рядками, кожен з яких містить масив [5, 6, 7].

Застосування

Такі математичні операції є необхідними для завдань масштабування, нормалізації та перетворення даних у машинному навчанні та статистичному аналізі. Вони забезпечують ефективні поелементні операції для об'єднання наборів даних, виконання чисельних симуляцій і застосування фільтрів у обробці зображень та сигналів. Крім того, ці операції широко використовуються у наукових обчисленнях і дата-орієнтованих застосуваннях.

Завдання

Swipe to start coding

Ви аналізуєте квартальні продажі двох продуктів у 2021 та 2022 роках, які зберігаються у двох двовимірних масивах:

  • sales_data_2021: квартальні продажі кожного продукту у 2021 році, кожен рядок відповідає окремому продукту;
  • sales_data_2022: квартальні продажі кожного продукту у 2022 році, кожен рядок відповідає окремому продукту.

Обчисліть квартальне зростання доходу для кожного продукту у відсотках.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 2
single

single

some-alt