26. (П12) Створення масивів ndarray та базові операції¶
Передумови¶
- Прочитана Лекція 25 — Вступ до NumPy. Масиви ndarray, створення, типи даних
- Встановлений NumPy:
pip install numpy
Мова в коді
Усі рядкові літерали, вивід print(), імена файлів та змінних — лише латиницею. Кирилиця допускається тільки в коментарях.
Завдання¶
Написати скрипт ndarray_basics.py, у якому кожне завдання нижче виводить свій результат. Перед кожним завданням вивести заголовок, наприклад --- Task 3 ---.
Цикли for / while для обчислень не використовувати — лише операції над масивами.
Персоналізація¶
STUDENT_NAME = "Ivan Petrenko" # ваше ім'я та прізвище транслітерацією
STUDENT_GROUP = "KI-31" # ваша група
N = 7 # ваш номер у списку групи + 5
Перший рядок виводу: Ivan Petrenko, KI-31, N = 7.
Завдання 1. Перший масив¶
Створити масив цілих чисел від 1 до N включно через np.arange. Вивести масив, його shape, size і dtype.
Завдання 2. Масиви-заготовки¶
Створити й вивести:
- масив нулів формою
(3, 4); - масив одиниць формою
(2, N)цілого типу; - масив формою
(2, 2), заповнений числомN; - одиничну матрицю
N × N.
Завдання 3. Послідовності¶
np.linspace:Nрівномірних точок від0до1включно;np.arange: парні числа від0до20включно.
Завдання 4. Форма¶
Ті самі 12 чисел можна розкласти в таблицю по-різному: 3 рядки по 4, 4 рядки по 3 тощо. Для цього є метод reshape.
- Створити одновимірний масив
numbersз чисел від1до12(черезnp.arange) і вивести його. - Розкласти
numbersу таблицю з 3 рядків і 4 стовпців:numbers.reshape(3, 4). Вивести таблицю та їїshape. - Так само розкласти в таблицю з 4 рядків і 3 стовпців.
- Розкласти в таблицю з 2 рядків, а кількість стовпців не вказувати — замість неї написати
-1, NumPy порахує сам.
Приклад виводу для пунктів 1 і 2:
Завдання 5. Арифметика¶
Арифметична операція над масивом виконується для кожного елемента одразу, без циклу: a * 2 множить на 2 кожне число масиву. Нижче aᵢ — i-й елемент масиву a.
Масив із завдання 1 збережіть у змінну a. Виведіть по черзі:
a * 2(aᵢ · 2) — кожне число, помножене на 2;a + 10(aᵢ + 10) — до кожного числа додано 10;a ** 2(aᵢ²) — квадрат кожного числа;a / N(aᵢ / N) — кожне число, поділене наN(зверніть увагу: результат стає дробовим);- суму квадратів (a₁² + a₂² + … + aₙ², тобто Σ aᵢ²; тут n = N).
Завдання 6. Температура за тиждень¶
Придумайте температуру повітря за кожен із 7 днів тижня — дробові числа, наприклад 5.5, 8.0, 12.5. Створіть із них масив temps через np.array([...]).
Виведіть:
- мінімальну температуру — метод
.min(); - максимальну
- середню
- номер найтеплішого дня
- теплі дні — Порівняти кожен елемент із
Nі дає масив ізTrue(тепліше) таFalse(ні); - кількість теплих днів —
.sum()від масиву з пункту 5: кожнеTrueрахується як 1; - температуру у Фаренгейтах — формула
temps * 9 / 5 + 32застосовується до всього масиву одразу.
Приклад виводу для temps = [5.5, 8.0, 12.5, 6.0, 3.5, 9.0, 11.0] і N = 7:
3.5
12.5
7.928571428571429
2
[False True True False False True True]
4
[41.9 46.4 54.5 42.8 38.3 48.2 51.8]
Завдання 7. Осі¶
Для матриці (3, 4) із завдання 4 вивести суму всіх елементів, суму по стовпцях (axis=0) і суму по рядках (axis=1).
Знайшли помилку чи бажаєте додати інформацію, щоб покращити курс? Створіть issue на GitHub