Python Матриця: транспонування, множення, масиви NumPy
⚡ Розумний підсумок
A Python Матриця — це двовимірний масив даних у рядках і стовпцях, що використовується в математиці та науці. Тут ви навчитеся створювати матриці з вкладеними списками та NumPy, а також виконувати додавання, множення, транспонування та розбиття на зрізи.

Що таке Python Матриця?
A Python матриця - це спеціалізований двовимірний прямокутний масив даних, що зберігається в рядках і стовпцях. Даними в матриці можуть бути числа, рядки, вирази, символи тощо. Матриця є однією з важливих структур даних, яку можна використовувати в математичних і наукових розрахунках.
Як Python Матриці працюють?
Дані всередині двовимірного масиву в матричному форматі виглядають наступним чином:
Крок 1) Він показує матрицю 2×2. Він має два рядки та 2 стовпці. Дані всередині матриці є числами. Рядок1 має значення 2,3, а рядок2 має значення 4,5. Стовпці, тобто стовпець 1, мають значення 2,4, а стовпець 2 має значення 3,5.
Крок 2) Він показує матрицю 2×3. Він має два рядки та три стовпці. Дані всередині першого рядка, тобто рядок1, мають значення 2,3,4, а рядок2 має значення 5,6,7. Стовпці col1 мають значення 2,5, col2 — 3,6, а col3 — 4,7.
Так само ви можете зберігати свої дані всередині матриці nxn PythonБагато операцій можна виконати над матрично-подібним додаванням, під-підставоюtracція, множення тощо.
Python не має прямого способу реалізації типу даних матриці.
Матриця Python використовує масиви, і те саме можна реалізувати.
- Створити Python Матриця з використанням типу даних вкладеного списку
- Створити Python Матриця з використанням масивів з Python Пакет Numpy
Створити Python Матриця з використанням типу даних вкладеного списку
In Python, масиви представлені за допомогою типу даних списку. Тож тепер використаємо список для створення матриці Python.
Ми створимо матрицю 3×3, як показано нижче:
- Матриця має 3 рядки і 3 стовпці.
- Перший рядок у форматі списку буде таким: [8,14,-6]
- Другий рядок у списку буде таким: [12,7,4]
- Третій рядок у списку буде таким: [-11,3,21]
Матриця всередині списку з усіма рядками та стовпцями виглядає так, як показано нижче:
List = [[Row1],
[Row2],
[Row3]
...
[RowN]]
Відповідно до матриці, наведеної вище, тип списку з даними матриці такий:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Щоб прочитати дані всередині Python Матриця з використанням списку.
Ми будемо використовувати матрицю, визначену вище. Приклад прочитає дані, надрукує матрицю, відобразить останній елемент із кожного рядка.
Приклад: роздрукувати матрицю
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
#To print the matrix
print(M1)
вихід:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Приклад 2: прочитати останній елемент із кожного рядка
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
matrix_length = len(M1)
#To read the last element from each row.
for i in range(matrix_length):
print(M1[i][-1])
вихід:
-6 4 21
Приклад 3: надрукувати рядки в матриці
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
matrix_length = len(M1)
#To print the rows in the Matrix
for i in range(matrix_length):
print(M1[i])
вихід:
[8, 14, -6] [12, 7, 4] [-11, 3, 21]
Додавання матриць за допомогою вкладеного списку
Ми можемо легко скласти дві задані матриці. Матриці тут будуть у формі списку. Давайте попрацюємо над прикладом, який подбає про додавання заданих матриць.
Матриця 1:
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
Матриця 2:
M2 = [[3, 16, -6],
[9,7,-4],
[-1,3,13]]
Остання ініціалізує матрицю, яка зберігатиме результат M1 + M2.
Матриця 3:
M3 = [[0,0,0],
[0,0,0],
[0,0,0]]
Приклад: додавання матриць
Крім того, матриці використовуватимуть цикл for, який проходитиме обидві наведені матриці.
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
M2 = [[3, 16, -6],
[9,7,-4],
[-1,3,13]]
M3 = [[0,0,0],
[0,0,0],
[0,0,0]]
matrix_length = len(M1)
#To Add M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
M3[i][k] = M1[i][k] + M2[i][k]
#To Print the matrix
print("The sum of Matrix M1 and M2 = ", M3)
вихід:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
Множення матриць за допомогою вкладеного списку
Щоб помножити матриці, ми можемо використовувати цикл for для обох матриць, як показано в коді нижче:
M1 = [[8, 14, -6],
[12,7,4],
[-11,3,21]]
M2 = [[3, 16, -6],
[9,7,-4],
[-1,3,13]]
M3 = [[0,0,0],
[0,0,0],
[0,0,0]]
matrix_length = len(M1)
#To Multiply M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
M3[i][k] = M1[i][k] * M2[i][k]
#To Print the matrix
print("The multiplication of Matrix M1 and M2 = ", M3)
вихід:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
Створити Python Матриця з використанням масивів з Python Пакет Numpy
Бібліотека python Numpy допомагає працювати з масивами. Numpy обробляє масив трохи швидше, ніж список.
Щоб працювати з Numpy, його потрібно спочатку встановити. Щоб установити Numpy, виконайте наведені нижче дії.
Крок 1) Команда для встановлення Numpy така:
pip install NumPy
Крок 2) Щоб використовувати Numpy у своєму коді, його потрібно імпортувати.
import NumPy
Крок 3) Ви також можете імпортувати Numpy за допомогою псевдоніма, як показано нижче:
import NumPy as np
Ми збираємося використовувати метод array() із Numpy для створення матриці python.
Приклад: масив у Numpy для створення Python Матриця
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
вихід:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
Матриця Operaза допомогою Numpy.Array()
Матрична операція, яку можна виконати, це додавання, відніманняtracція, множення, транспонування, читання рядків, стовпців матриці, розрізання матриці тощо. У всіх прикладах ми використовуватимемо метод array().
Матричне додавання
Щоб виконати додавання матриці, ми створимо дві матриці за допомогою numpy.array() і додамо їх за допомогою оператора (+).
приклад:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]]) M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]]) M3 = M1 + M2 print(M3)
вихід:
[[ 12 -12 36] [ 16 12 48] [ 6 -12 60]]
Матриця Subtracції
Щоб виконати підзаголовокtracцію на матриці, ми створимо дві матриці за допомогою numpy.array() та subtract їх за допомогою оператора (-).
приклад:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]]) M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]]) M3 = M1 - M2 print(M3)
вихід:
[[ -6 24 -18] [ -6 -32 -18] [-20 40 -18]]
Матричне множення
Спочатку буде створено дві матриці за допомогою numpy.arary(). Щоб помножити їх, ви можете скористатися методом numpy dot(). Numpy.dot() — скалярний добуток матриці M1 і M2. Numpy.dot() обробляє 2D-масиви та виконує множення матриць.
приклад:
import numpy as np M1 = np.array([[3, 6], [5, -10]]) M2 = np.array([[9, -18], [11, 22]]) M3 = M1.dot(M2) print(M3)
вихід:
[[ 93 78] [ -65 -310]]
Транспонування матриці
Транспонування матриці обчислюється шляхом заміни рядків на стовпці та стовпців на рядки. Функцію transpose() від Numpy можна використовувати для обчислення транспонування матриці.
приклад:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) M2 = M1.transpose() print(M2)
вихід:
[[ 3 5 4] [ 6 -10 8] [ 9 15 12]]
Нарізка матриці
Розрізання поверне вам елементи з матриці на основі заданого початкового/кінцевого індексу.
- Синтаксис нарізки – [початок:кінець]
- Якщо початковий індекс не вказано, він вважається 0. Наприклад, [:5], це означає як [0:5].
- Якщо кінець не передано, він буде вважатися довжиною масиву.
- Якщо початок/кінець має від’ємні значення, нарізка буде виконана з кінця масиву.
Перш ніж працювати над нарізкою на матриці, давайте спочатку зрозуміємо, як застосувати нарізку на простому масиві.
import numpy as np arr = np.array([2,4,6,8,10,12,14,16]) print(arr[3:6]) # will print the elements from 3 to 5 print(arr[:5]) # will print the elements from 0 to 4 print(arr[2:]) # will print the elements from 2 to length of the array. print(arr[-5:-1]) # will print from the end i.e. -5 to -2 print(arr[:-1]) # will print from end i.e. 0 to -2
вихід:
[ 8 10 12] [ 2 4 6 8 10] [ 6 8 10 12 14 16] [ 8 10 12 14] [ 2 4 6 8 10 12 14]
Тепер давайте реалізуємо нарізку на матриці. Виконати нарізку на матриці
синтаксис буде M1[row_start:row_end, col_start:col_end]
- Перший початок/кінець буде для рядка, тобто для вибору рядків матриці.
- Другий початок/кінець буде для стовпця, тобто для вибору стовпців матриці.
Матриця M1, яку ми будемо використовувати, має такий вигляд:
M1 = np.array([[2, 4, 6, 8, 10],
[3, 6, 9, -12, -15],
[4, 8, 12, 16, -20],
[5, -10, 15, -20, 25]])
Всього 4 ряди. Індекс починається від 0 до 3. 0th рядок [2,4,6,8,10], 1st рядок [3,6,9,-12,-15], а потім 2nd і 3rd.
Матриця M1 має 5 стовпців. Індекс починається від 0 до 4. 0th стовпець має значення [2,3,4,5], 1st стовпці мають значення [4,6,8,-10], за якими йде 2nd, 3rd, 4thі 5th.
Ось приклад, який показує, як отримати дані рядків і стовпців із матриці за допомогою нарізки. У прикладі ми друкуємо 1st і 2nd рядок, а для стовпців нам потрібні перший, другий і третій стовпці. Щоб отримати цей результат, ми використали: M1[1:3, 1:4]
приклад:
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[1:3, 1:4]) # For 1:3, it will give first and second row. #The columns will be taken from first to third.
вихід:
[[ 6 9 -12] [ 8 12 16]]
Приклад: щоб надрукувати всі рядки та треті стовпці
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[:,3]) # This will print all rows and the third column data.
вихід:
[ 8 -12 16 -20]
Приклад: щоб надрукувати перший рядок і всі стовпці
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[:1,]) # This will print first row and all columns
вихід:
[[ 2 4 6 8 10]]
Приклад: щоб надрукувати перші три рядки та перші 2 стовпці
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[:3,:2])
вихід:
[[2 4] [3 6] [4 8]]
Доступ до NumPy Matrix
Ми побачили, як працює нарізка. Беручи це до уваги, ми розглянемо, як отримати рядки та стовпці з матриці.
Для друку рядків матриці
У прикладі виведемо рядки матриці.
приклад:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) print(M1[0]) #first row print(M1[1]) # the second row print(M1[-1]) # -1 will print the last row
вихід:
[3 6 9] [ 5 -10 15] [ 4 8 12]
Щоб отримати останній рядок, ви можете використовувати індекс або -1. Наприклад, матриця має 3 рядки,
тому M1[0] дасть вам перший рядок,
M1[1] дасть вам другий ряд
M1[2] або M1[-1] дасть вам третій або останній рядок.
Для друку стовпців матриці
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[:,0]) # Will print the first Column print(M1[:,3]) # Will print the third Column print(M1[:,-1]) # -1 will give you the last column
вихід:
[2 3 4 5] [ 8 -12 16 -20] [ 10 -15 -20 25]


