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

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 слайсів.

Завдання

Swipe to start coding

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

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

Рішення

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

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

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

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

single

Запитати АІ

expand

Запитати АІ

ChatGPT

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

close

Awesome!

Completion rate improved to 3.7

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 слайсів.

Завдання

Swipe to start coding

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

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

Рішення

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

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

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

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

single

some-alt