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

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

Suggested prompts:

Can you explain the difference between positive and negative indexing in 2D arrays?

How do I access a specific row or column in a 2D array?

Why is using array[0, 1] more efficient than array[0][1]?

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