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

bookБагатовимірна індексація

Тепер, коли ви вмієте отримувати доступ до елементів у одномірних масивах, настав час ознайомитися з індексацією у багатовимірних масивах.

Індексація у 2D масивах

Це масив розміром 2x3, тобто він складається з 2 одновимірних масивів вздовж осі 0, і кожен з цих одновимірних масивів містить 3 елементи вздовж осі 1.

Зображення нижче ілюструють позитивну та негативну індексацію у 2D масивах (значення масиву показані чорним, індекси — зеленим для позитивних індексів і червоним для негативних індексів):

Доступ до елементів у двовимірних масивах

У одномірних масивах елементи вибираються за допомогою індексу в квадратних дужках. Якщо виконати те саме для двовимірних масивів, буде отримано одновимірний масив за вказаним індексом, що може бути саме тим, що потрібно.

Однак, якщо потрібно отримати конкретний елемент внутрішнього одномірного масиву, слід вказати індекс одномірного масиву (по осі 0) та індекс його елемента (по осі 1), наприклад, array[0, 1]. Можна також записати array[0][1], як у Python list, але це менш ефективно, оскільки пошук виконується двічі для кожного індексу замість одного разу.

Note
Примітка

Якщо вказаний індекс виходить за межі, буде згенеровано IndexError, тому слід бути обережним.

12345678
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Accessing the first element (1D array) with positive index print(array_2d[0]) # Accessing the second element of the first 1D array with positive index print(array_2d[0, 1]) # Accessing the last element of the last 1D array with negative index print(array_2d[-1, -1])
copy

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

Завдання

Swipe to start coding

stock_prices містить змодельовані ціни акцій за п’ять днів для п’яти різних компаній. Кожен рядок відповідає певній компанії, а кожен стовпець — певному дню. Таким чином, кожен елемент матриці представляє ціну закриття акцій певної компанії в конкретний день.

  1. Отримати всі ціни акцій першої компанії за п’ять днів, використовуючи позитивну індексацію.
  2. Отримати ціну акцій третьої компанії на другий день, використовуючи позитивну індексацію.
  3. Отримати ціну акцій останньої компанії в останній день, використовуючи негативну індексацію.

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 3.7

bookБагатовимірна індексація

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

Тепер, коли ви вмієте отримувати доступ до елементів у одномірних масивах, настав час ознайомитися з індексацією у багатовимірних масивах.

Індексація у 2D масивах

Це масив розміром 2x3, тобто він складається з 2 одновимірних масивів вздовж осі 0, і кожен з цих одновимірних масивів містить 3 елементи вздовж осі 1.

Зображення нижче ілюструють позитивну та негативну індексацію у 2D масивах (значення масиву показані чорним, індекси — зеленим для позитивних індексів і червоним для негативних індексів):

Доступ до елементів у двовимірних масивах

У одномірних масивах елементи вибираються за допомогою індексу в квадратних дужках. Якщо виконати те саме для двовимірних масивів, буде отримано одновимірний масив за вказаним індексом, що може бути саме тим, що потрібно.

Однак, якщо потрібно отримати конкретний елемент внутрішнього одномірного масиву, слід вказати індекс одномірного масиву (по осі 0) та індекс його елемента (по осі 1), наприклад, array[0, 1]. Можна також записати array[0][1], як у Python list, але це менш ефективно, оскільки пошук виконується двічі для кожного індексу замість одного разу.

Note
Примітка

Якщо вказаний індекс виходить за межі, буде згенеровано IndexError, тому слід бути обережним.

12345678
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Accessing the first element (1D array) with positive index print(array_2d[0]) # Accessing the second element of the first 1D array with positive index print(array_2d[0, 1]) # Accessing the last element of the last 1D array with negative index print(array_2d[-1, -1])
copy

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

Завдання

Swipe to start coding

stock_prices містить змодельовані ціни акцій за п’ять днів для п’яти різних компаній. Кожен рядок відповідає певній компанії, а кожен стовпець — певному дню. Таким чином, кожен елемент матриці представляє ціну закриття акцій певної компанії в конкретний день.

  1. Отримати всі ціни акцій першої компанії за п’ять днів, використовуючи позитивну індексацію.
  2. Отримати ціну акцій третьої компанії на другий день, використовуючи позитивну індексацію.
  3. Отримати ціну акцій останньої компанії в останній день, використовуючи негативну індексацію.

Рішення

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

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

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

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

single

some-alt