Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Зрізи | Індексування та Зрізи
Ultimate NumPy

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, який використовується у завданні:

Завдання

Swipe to start coding

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

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

Рішення

Все було зрозуміло?

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.7

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, який використовується у завданні:

Завдання

Swipe to start coding

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

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

Рішення

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

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

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

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

single

some-alt