Що таке Python Matrix?
Матриця Python - це спеціалізований двовимірний прямокутний масив даних, що зберігається в рядках і стовпцях. Даними в матриці можуть бути числа, рядки, вирази, символи тощо. Матриця - одна з важливих структур даних, яка може бути використана в математичних та наукових розрахунках.
У цьому підручнику з Python ви дізнаєтесь:
- Що таке Python Matrix?
- Як працюють матриці Python?
- Створіть Python Matrix, використовуючи вкладений тип даних списку
- Для читання даних у Python Matrix за допомогою списку.
- Приклад 2: Читання останнього елемента з кожного рядка.
- Приклад 3: Для друку рядків у Матриці
- Додавання матриць за допомогою вкладеного списку
- Множення матриць за допомогою вкладеного списку
- Створіть Python Matrix, використовуючи масиви з пакета Python Numpy
- Операція матриці за допомогою Numpy.Array ()
- Доступ до NumPy Matrix
Як працюють матриці Python?
Дані всередині двовимірного масиву у матричному форматі виглядають так:Крок 1)
Він показує матрицю 2x2. Він має два рядки та 2 стовпці. Дані всередині матриці - це цифри. Рядок1 має значення 2,3, а рядок2 має значення 4,5. Стовпці, тобто col1, мають значення 2,4, а col2 - значення 3,5.
Крок 2)
Він показує матрицю 2x3. Він має два рядки і три стовпці. Дані всередині першого рядка, тобто рядок1, мають значення 2,3,4, а рядок2 має значення 5,6,7. Стовпці col1 мають значення 2,5, col2 має значення 3,6, а col3 має значення 4,7.
Так само, ви можете зберігати свої дані всередині матриці nxn у Python. Багато операцій можна виконати над матричним складанням, відніманням, множенням тощо.
Python не має прямолінійного способу реалізації матричного типу даних.
Матриця python використовує масиви, і те саме може бути реалізовано.
- Створіть матрицю Python, використовуючи вкладений тип даних списку
- Створіть Python Matrix, використовуючи масиви з пакета Python Numpy
Створіть Python Matrix, використовуючи вкладений тип даних списку
У Python масиви представлені за допомогою типу даних списку. Тож тепер буде використовувати список для створення матриці python.
Ми створимо матрицю 3x3, як показано нижче:
- Матриця має 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 Matrix за допомогою списку.
Ми використаємо матрицю, визначену вище. Приклад зчитує дані, надрукує матрицю, відобразить останній елемент з кожного рядка.
Приклад: Для друку матриці
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]#To print the matrixprint(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])
Вихід:
-6421
Приклад 3: Для друку рядків у Матриці
M1 = [[8, 14, -6],[12,7,4],[-11,3,21]]matrix_length = len(M1)#To print the rows in the Matrixfor 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]]
Last ініціалізує матрицю, яка зберігатиме результат 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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] + M2[i][k]#To Print the matrixprint("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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] * M2[i][k]#To Print the matrixprint("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 Matrix, використовуючи масиви з пакета 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 npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Вихід:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Операція матриці за допомогою Numpy.Array ()
Операцією матриці, яку можна зробити, є додавання, віднімання, множення, транспонування, читання рядків, стовпців матриці, нарізання матриці тощо. У всіх прикладах ми будемо використовувати метод array ().
Додавання матриці
Щоб виконати додавання матриці, ми створимо дві матриці за допомогою numpy.array () і додамо їх за допомогою оператора (+).
Приклад:
import numpy as npM1 = 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 + M2print(M3)
Вихід:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Віднімання матриці
Щоб виконати віднімання на матриці, ми створимо дві матриці за допомогою numpy.array () і віднімемо їх за допомогою оператора (-).
Приклад:
import numpy as npM1 = 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 - M2print(M3)
Вихід:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Множення матриць
Спочатку створимо дві матриці за допомогою numpy.arary (). Щоб помножити їх на волю, ви можете скористатися методом numpy dot (). Numpy.dot () - точковий добуток матриць M1 та M2. Numpy.dot () обробляє 2D-масиви та виконує множення матриць.
Приклад:
import numpy as npM1 = np.array([[3, 6], [5, -10]])M2 = np.array([[9, -18], [11, 22]])M3 = M1.dot(M2)print(M3)
Вихід:
[[ 93 78][ -65 -310]]
Транспонування матриці
Транспонування матриці обчислюється шляхом зміни рядків як стовпців та стовпців як рядків. Функцію транспонування () з Numpy можна використовувати для обчислення транспонування матриці.
Приклад:
import numpy as npM1 = 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 nparr = np.array([2,4,6,8,10,12,14,16])print(arr[3:6]) # will print the elements from 3 to 5print(arr[:5]) # will print the elements from 0 to 4print(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 -2print(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. 0- й рядок - це [2,4,6,8,10], 1- й рядок - [3,6,9, -12, -15], а потім 2- й і 3 - й ряди .
Матриця M1 має 5 стовпців. Індекс починається від 0 до 4. 0- й стовпець має значення [2,3,4,5], 1- й стовпець має значення [4,6,8, -10], за яким слідують 2- й , 3- й , 4- й , і 5 - й .
Ось приклад, що показує, як отримати дані рядків і стовпців з матриці за допомогою нарізки. У цьому прикладі ми друкуємо 1- й та 2- й рядки, а для стовпців потрібно першу, другу та третю колонки. Для отримання цього результату ми використали: M1 [1: 3, 1: 4]
Приклад:
import numpy as npM1 = 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 npM1 = 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 npM1 = 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 npM1 = 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 npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])print(M1[0]) #first rowprint(M1[1]) # the second rowprint(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 npM1 = 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 Columnprint(M1[:,3]) # Will print the third Columnprint(M1[:,-1]) # -1 will give you the last column
Вихід:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Короткий зміст:
- Матриця Python - це спеціалізований двовимірний прямокутний масив даних, що зберігається в рядках і стовпцях. Даними в матриці можуть бути числа, рядки, вирази, символи тощо. Матриця - одна з важливих структур даних, яка може бути використана в математичних та наукових розрахунках.
- Python не має прямолінійного способу реалізації матричного типу даних. Матрицю Python можна створити за допомогою вкладеного типу даних списку та за допомогою бібліотеки numpy.
- Бібліотека Python Numpy допомагає мати справу з масивами. Numpy обробляє масив трохи швидше порівняно зі списком.
- Операцією матриці, яку можна зробити, є додавання, віднімання, множення, транспонування, читання рядків, стовпців матриці, нарізання матриці тощо.
- Щоб додати дві матриці, ви можете скористатися numpy.array () і додати їх за допомогою оператора (+).
- Щоб помножити їх на волю, ви можете скористатися методом numpy dot (). Numpy.dot () - точковий добуток матриць M1 та M2. Numpy.dot () обробляє 2D-масиви та виконує множення матриць.
- Транспонування матриці обчислюється шляхом зміни рядків як стовпців, а стовпців як рядків. Функцію транспонування () з Numpy можна використовувати для обчислення транспонування матриці.
- Нарізання матриці поверне вам елементи на основі заданого індексу початку / кінця.