Зрізи
Слайсинг у 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, який використовується у завданні:
Swipe to start coding
Ви аналізуєте щоденні дані про продажі невеликого роздрібного магазину. Продажі за минулий тиждень зберігаються в масиві weekly_sales, де кожен елемент відповідає продажам за певний день.
- Створіть зріз масиву
weekly_sales, який містить дані про продажі через день, починаючи з другого дня (вівторка). - Використайте додатний індекс для параметра
startі залиштеendневказаним. - Збережіть результат у змінній
alternate_day_sales.
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain how negative steps work in slicing?
What happens if I use a step value greater than 1?
Can you show more examples of slicing with different start and end values?
Awesome!
Completion rate improved to 3.7
Зрізи
Свайпніть щоб показати меню
Слайсинг у 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, який використовується у завданні:
Swipe to start coding
Ви аналізуєте щоденні дані про продажі невеликого роздрібного магазину. Продажі за минулий тиждень зберігаються в масиві weekly_sales, де кожен елемент відповідає продажам за певний день.
- Створіть зріз масиву
weekly_sales, який містить дані про продажі через день, починаючи з другого дня (вівторка). - Використайте додатний індекс для параметра
startі залиштеendневказаним. - Збережіть результат у змінній
alternate_day_sales.
Рішення
Дякуємо за ваш відгук!
single