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

single

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

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

Тепер, коли ви ознайомилися з поняттям бродкастингу, розгляньмо базові математичні операції в 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}')

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

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

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

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}')

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

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}')

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

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

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

Завдання

Проведіть, щоб почати кодувати

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

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

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

Revenue=S2022S2021S2021100%\text{Revenue} = \frac{S_{2022} - S_{2021}}{S_{2021}} * 100 \%

Потім використайте np.round(array, 2), щоб округлити кожен елемент до 2 знаків після коми, і виведіть результат.

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt