single
Зрізи у двовимірних масивах
Свайпніть щоб показати меню
Зрізи у двовимірних та багатовимірних масивах працюють аналогічно до зрізів у одномірних масивах. Однак у 2D-масивах існує дві осі.
Якщо потрібно виконати зріз лише по осі 0 для отримання одномірних масивів, синтаксис залишається незмінним: array[start:end:step]. Якщо потрібно виконати зріз по елементах цих одномірних масивів (вісь 1), використовується такий синтаксис: array[start:end:step, start:end:step]. Фактично, кількість зрізів відповідає кількості вимірів масиву.
Крім того, можна використовувати зріз по одній осі та базову індексацію по іншій осі. Розглянемо приклад двовимірного зрізу (фіолетові квадрати позначають елементи, отримані в результаті зрізу, а чорна стрілка вказує, що елементи взяті у зворотному порядку):
1234567891011121314151617181920import numpy as np array_2d = np.array([ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ]) # Initial Array print("Initial array_2d:\n", array_2d) # Rows from index 1 to the end print("\narray_2d[1:]:\n", array_2d[1:]) # All rows, first column only print("\narray_2d[:, 0]:\n", array_2d[:, 0]) # Subarray: rows from 1 to end, columns from 1 to second-to-last print("\narray_2d[1:, 1:-1]:\n", array_2d[1:, 1:-1]) # All rows except the last, every second column print("\narray_2d[:-1, ::2]:\n", array_2d[:-1, ::2]) # Third row (index 2) reversed print("\narray_2d[2, ::-1]:\n", array_2d[2, ::-1])
На зображенні нижче показано структуру масиву student_scores, який використовується у завданні:
Swipe to start coding
Ви працюєте з двовимірним масивом NumPy, який представляє бали трьох студентів з трьох різних предметів. Оцінки кожного студента зберігаються в окремому рядку, де кожен елемент відповідає балу з певного предмета.
- Створіть зріз
student_scores, який містить останні два бали першого студента (перший рядок). - Використовуйте базову індексацію (позитивну індексацію) та зрізи, вказуючи лише додатній
start.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат