У світі програмування і аналізу даних бібліотека NumPy відіграє важливу роль, дозволяючи зручно та ефективно працювати з масивами та матрицями. Одним із поширених завдань є розділення масиву на підмасиви згідно з певними умовами. У цій статті ми розглянемо, як розділити масив NumPy на декілька масивів за допомогою мови програмування Python.
Припустимо, ми маємо масиви x
і y
:
1 2 3 |
import numpy as np x = np.array([[2,3,5,6], [1,2,4,3], [1,5,6,4], [2,8,9,5]]) y = np.array([1,0,1,2]) |
Наша задача – розділити масив x
на декілька підмасивів згідно зі значеннями у масиві y
. Наприклад, якщо у нас є масив x
та відповідний масив y
:
1 2 |
x = [[2,3,5,6], [1,2,4,3], [1,5,6,4], [2,8,9,5]] y = [1,0,1,2] |
Ми маємо розділити масив x
на три окремих масиви згідно зі значеннями у y
. Тобто:
1 2 3 |
x_0 = [[1,2,4,3]] x_1 = [[2,3,5,6], [1,5,6,4]] x_2 = [[2,8,9,5]] |
Таке розділення дозволяє ефективно обробляти дані за їхніми категоріями чи класами.
Для досягнення цієї мети ми можемо скористатися циклом або списковими виразами в мові програмування Python. На перший погляд, може здатися, що цей процес досить складний, але NumPy надає нам зручні засоби для роботи з масивами, що дозволяє зробити його досить простим.
Нижче наведений приклад коду, який демонструє, як можна розділити масив x
на підмасиви відповідно до значень у масиві y
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import numpy as np x = np.array([[2,3,5,6], [1,2,4,3], [1,5,6,4], [2,8,9,5]]) y = np.array([1,0,1,2]) # Створюємо порожні списки для зберігання підмасивів subarrays = [[] for _ in range(len(np.unique(y)))] # Розділяємо масив на підмасиви for i in range(len(x)): subarrays[y[i]].append(x[i]) # Конвертуємо списки у масиви NumPy for i in range(len(subarrays)): subarrays[i] = np.array(subarrays[i]) # Виводимо результат for i in range(len(subarrays)): print(f"x_{i} =", subarrays[i]) |
Цей код спочатку створює порожні списки для зберігання підмасивів, де кількість списків визначається унікальними значеннями у масиві y
. Потім він проходиться по кожному елементу у масиві x
та додає його до відповідного підмасиву залежно від значення у масиві y
. Нарешті, він конвертує кожен підсписок у масив NumPy та виводить результат.
Це простий та ефективний спосіб розділення масиву на підмасиви з використанням бібліотеки NumPy в мові програмування Python.