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

single

bookПрисвоєння значень індексованим підмасивам

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

З індексованими масивами робота стає цікавішою. Тут ми зосередимося на 1D та 2D підмасивах, оскільки 3D підмасиви рідко використовуються на практиці.

Почнемо з присвоєння значень срезам. Загальний синтаксис виглядає так: slice = values, де slice — це срез певного масиву, а values — це значення, які потрібно присвоїти.

Можливі формати values:

  • один скаляр (число);
  • 1D масив такого ж розміру, як і срез (якщо це 1D); або розміру другої виміри (якщо срез 2D);
  • 2D масив такої ж форми, як і 2D срез.
123456789101112131415161718
import numpy as np array_1d = np.array([1, 4, 6, 2, 9]) # Assigning an array to the slice of array_1d array_1d[1:-1] = np.array([3, 5, 7]) print(array_1d) # Assigning a scalar to the slice of array_1d array_1d[1:-1] = 5 print(array_1d) array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # Assigning a 2D array to the slice of array_2d array_2d[1:3, 1:] = np.array([[20, 21], [40, 41]]) print(array_2d) # Assigning a 1D array to the slice of array_2d array_2d[1:3, 1:] = [50, 51] print(array_2d) # Assigning a scalar to the slice of array_2d array_2d[1:3, 1:] = 30 print(array_2d)
copy

Коли ми присвоюємо скаляр 1D-срезу, цей скаляр присвоюється кожному елементу срезу. Коли 1D-масив присвоюється 2D-срезу, цей 1D-масив присвоюється кожному 1D-масиву у срезі. Присвоєння скаляра 2D-срезу відбувається так само, як і для 1D-срезу.

Присвоєння значень підмасивам, індексованим масивом цілих чисел, відбувається так само, як і для срезів. Присвоєння значень підмасивам, індексованим булевим масивом, відбувається так само, як і для 1D-срезів.

Завдання

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

Ви керуєте набором даних цін на товари та їхніх рейтингів. Ціни зберігаються в масиві prices, а рейтинги (за 10-бальною шкалою) — у масиві ratings. Ваше завдання — оновити ці дані відповідно до заданих критеріїв:

  1. Присвоїти значення 20 кожному елементу в prices, який перевищує 10, використовуючи скаляр.
  2. Присвоїти NumPy-масив з елементами 9, 8 двом останнім елементам другого рядка масиву ratings. Використовуйте позитивний індекс рядка та зріз.

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

some-alt