Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Зрізи | Індексація та Зрізи
Основи NumPy
Секція 2. Розділ 3
single

single

bookЗрізи

Свайпніть щоб показати меню

Зрізи в Python означають отримання елементів від одного індексу до іншого в межах послідовності. У цьому розділі, однак, ми зосередимося на зрізах у масивах NumPy.

Зрізи в одномірних масивах

Загальний синтаксис для зрізів в одномірних масивах виглядає так: array[start:end:step].

  • start — індекс, з якого починається зріз;
  • end — індекс, на якому зріз закінчується (сам індекс не включається);
  • step — крок між індексами (за замовчуванням 1).

Ось приклад для пояснення (фіолетові квадрати позначають елементи, отримані в результаті зрізу):

Note
Примітка

Оскільки ми явно не вказали step, за замовчуванням його значення — 1.

123456789
import 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:])
copy

Пропуск початку, кінця та кроку

Як видно, часто можна пропускати start, end, step або навіть усі ці параметри одночасно. Наприклад, step можна не вказувати, якщо він дорівнює 1. start і end можна пропускати у таких випадках:

  1. Пропуск start:
    • Вирізання від першого елемента (step додатній);
    • Вирізання від останнього елемента (step від’ємний).
  2. Пропуск end:
    • Вирізання до останнього елемента включно (step додатній);
    • Вирізання до першого елемента включно (step від’ємний).

Розглянемо ще кілька прикладів (чорна стрілка вказує, що елементи беруться у зворотному порядку):

1234567891011
import 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[:])
copy

На зображенні нижче показано структуру масиву weekly_sales, який використовується у завданні:

Завдання

Проведіть, щоб почати кодувати

Ви аналізуєте щоденні дані про продажі невеликого роздрібного магазину. Продажі за минулий тиждень зберігаються в масиві weekly_sales, де кожен елемент відповідає продажам за певний день.

  1. Створіть зріз масиву weekly_sales, який містить дані про продажі через день, починаючи з другого дня (вівторка).
  2. Використайте додатний індекс для параметра start і залиште параметр end невказаним.
  3. Збережіть результат у змінній alternate_day_sales.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 3
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

some-alt