single
Зрізи
Свайпніть щоб показати меню
Зрізи в Python означають отримання елементів від одного індексу до іншого в межах послідовності. У цьому розділі, однак, ми зосередимося на зрізах у масивах NumPy.
Зрізи в одномірних масивах
Загальний синтаксис для зрізів в одномірних масивах виглядає так: array[start:end:step].
start— індекс, з якого починається зріз;end— індекс, на якому зріз закінчується (сам індекс не включається);step— крок між індексами (за замовчуванням1).
Ось приклад для пояснення (фіолетові квадрати позначають елементи, отримані в результаті зрізу):
Оскільки ми явно не вказали step, за замовчуванням його значення — 1.
123456789import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
Пропуск початку, кінця та кроку
Як видно, часто можна пропускати start, end, step або навіть усі ці параметри одночасно. Наприклад, step можна не вказувати, якщо він дорівнює 1. start і end можна пропускати у таких випадках:
- Пропуск
start:- Вирізання від першого елемента (
stepдодатній); - Вирізання від останнього елемента (
stepвід’ємний).
- Вирізання від першого елемента (
- Пропуск
end:- Вирізання до останнього елемента включно (
stepдодатній); - Вирізання до першого елемента включно (
stepвід’ємний).
- Вирізання до останнього елемента включно (
Розглянемо ще кілька прикладів (чорна стрілка вказує, що елементи беруться у зворотному порядку):
1234567891011import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
На зображенні нижче показано структуру масиву weekly_sales, який використовується у завданні:
Проведіть, щоб почати кодувати
Ви аналізуєте щоденні дані про продажі невеликого роздрібного магазину. Продажі за минулий тиждень зберігаються в масиві weekly_sales, де кожен елемент відповідає продажам за певний день.
- Створіть зріз масиву
weekly_sales, який містить дані про продажі через день, починаючи з другого дня (вівторка). - Використайте додатний індекс для параметра
startі залиште параметрendневказаним. - Збережіть результат у змінній
alternate_day_sales.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат