Зрізи
Зрізи у 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