Присвоєння Значень Індексованим Підмасивам
З індексованими масивами робота стає цікавішою. Тут ми зосередимося на 1D та 2D підмасивах, оскільки 3D підмасиви рідко використовуються на практиці.
Почнемо з присвоєння значень слайсам. Загальний синтаксис виглядає так: slice = values, де slice — це слайс певного масиву, а values — це значення, які потрібно присвоїти.
Можливі формати values:
- один скаляр (число);
- 1D масив такого ж розміру, як і слайс (якщо це 1D); або розміру другої виміру (якщо слайс 2D);
- 2D масив такої ж форми, як і 2D слайс.
123456789101112131415161718import 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)
Коли ми присвоюємо скаляр 1D слайсу, цей скаляр присвоюється кожному елементу слайсу. Коли 1D масив присвоюється 2D слайсу, цей 1D масив присвоюється кожному 1D масиву у слайсі. Присвоєння скаляра 2D слайсу працює так само, як і для 1D слайсу.
Присвоєння значень підмасивам, індексованим масивом цілих чисел, працює так само, як і для слайсів. Присвоєння значень підмасивам, індексованим булевим масивом, працює так само, як і для 1D слайсів.
Swipe to start coding
Ви керуєте набором даних цін на товари та їхніх рейтингів. Ціни зберігаються в масиві prices, а рейтинги (за 10-бальною шкалою) — у масиві ratings, де кожен рядок представляє окрему категорію товарів. Ваше завдання — оновити ціни та рейтинги за певними критеріями:
- Присвоїти значення
20кожному елементу вprices, який більший за 10 (булеве індексування) з використанням скаляра. - Присвоїти NumPy-масив з елементами
9,8двом останнім елементам другого рядка (другого одномірного масиву) масивуratings. Використовуйте додатний індекс рядка та слайс лише з параметромstart(додатний індекс).
Рішення
Дякуємо за ваш відгук!
single
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 3.7
Присвоєння Значень Індексованим Підмасивам
Свайпніть щоб показати меню
З індексованими масивами робота стає цікавішою. Тут ми зосередимося на 1D та 2D підмасивах, оскільки 3D підмасиви рідко використовуються на практиці.
Почнемо з присвоєння значень слайсам. Загальний синтаксис виглядає так: slice = values, де slice — це слайс певного масиву, а values — це значення, які потрібно присвоїти.
Можливі формати values:
- один скаляр (число);
- 1D масив такого ж розміру, як і слайс (якщо це 1D); або розміру другої виміру (якщо слайс 2D);
- 2D масив такої ж форми, як і 2D слайс.
123456789101112131415161718import 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)
Коли ми присвоюємо скаляр 1D слайсу, цей скаляр присвоюється кожному елементу слайсу. Коли 1D масив присвоюється 2D слайсу, цей 1D масив присвоюється кожному 1D масиву у слайсі. Присвоєння скаляра 2D слайсу працює так само, як і для 1D слайсу.
Присвоєння значень підмасивам, індексованим масивом цілих чисел, працює так само, як і для слайсів. Присвоєння значень підмасивам, індексованим булевим масивом, працює так само, як і для 1D слайсів.
Swipe to start coding
Ви керуєте набором даних цін на товари та їхніх рейтингів. Ціни зберігаються в масиві prices, а рейтинги (за 10-бальною шкалою) — у масиві ratings, де кожен рядок представляє окрему категорію товарів. Ваше завдання — оновити ціни та рейтинги за певними критеріями:
- Присвоїти значення
20кожному елементу вprices, який більший за 10 (булеве індексування) з використанням скаляра. - Присвоїти NumPy-масив з елементами
9,8двом останнім елементам другого рядка (другого одномірного масиву) масивуratings. Використовуйте додатний індекс рядка та слайс лише з параметромstart(додатний індекс).
Рішення
Дякуємо за ваш відгук!
single