Содержание

Изучаем матрицы в питоне и массивы NumPy в Python

0 ∞ 1

Матрица — это двухмерная структура данных, в которой числа расположены в виде строк и столбцов. Например:

Эта матрица является матрицей три на четыре, потому что она состоит из 3 строк и 4 столбцов.

  • Матрицы в Python
  • NumPy массивы в Python
  • Как создать массив NumPy?
    • Массив целых чисел, чисел с плавающей точкой и составных чисел
    • Массив нулей и единиц
    • Использование arange() и shape()
  • Операции с матрицами
    • Сложение двух матриц или сумма элементов массива Python
    • Умножение двух матриц Python
    • Транспонирование матрицы питон
  • Доступ к элементам матрицы, строкам и столбца
    • Доступ к элементам матрицы
    • Доступ к строкам матрицы
    • Доступ к столбцам матрицы
  • Разделение матрицы

Python не имеет встроенного типа данных для матриц. Но можно рассматривать список как матрицу. Например:

A = [[1, 4, 5], 
    [-5, 8, 9]]

Этот список является матрицей на 2 строки и 3 столбца.

Обязательно ознакомьтесь с документацией по спискам Python, прежде чем продолжить читать эту статью.

Давайте посмотрим, как работать с вложенным списком.

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]
print("A =", A) 
print("A[1] =", A[1])      # вторая строка
print("A[1][2] =", A[1][2])   # третий элемент второй строки
print("A[0][-1] =", A[0][-1])   # последний элемент первой строки
column = [];        # пустой список
for row in A:
  column.append(row[2])   
print("3rd column =", column)

Когда мы запустим эту программу, результат будет следующий:

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A [1] = [-5, 8, 9, 0]
A [1] [2] = 9
A [0] [- 1] = 12
3-й столбец = [5, 9, 11]

Использование вложенных списков в качестве матрицы подходит для простых вычислительных задач. Но в Python есть более эффективный способ работы с матрицами – NumPy .

NumPy — это расширение для научных вычислений, которое поддерживает мощный объект N-мерного массива. Прежде чем использовать NumPy, необходимо установить его. Для получения дополнительной информации,

  • Ознакомьтесь: Как установить NumPy Python?
  • Если вы работаете в Windows, скачайте и установите дистрибутив anaconda Python. Он поставляется вместе с NumPy и другими расширениями.

После установки NumPy можно импортировать и использовать его.

NumPy предоставляет собой многомерный массив чисел (который на самом деле является объектом). Давайте рассмотрим приведенный ниже пример:

import numpy as np
a = np.array([1, 2, 3])
print(a)               # Вывод: [1, 2, 3]
print(type(a))         # Вывод: <class 'numpy.ndarray'>

Как видите, класс массива NumPy называется ndarray.

Существует несколько способов создания массивов NumPy.

import numpy as np
A = np.array([[1, 2, 3], [3, 4, 5]])
print(A)
A = np.array([[1.1, 2, 3], [3, 4, 5]]) # Массив чисел с плавающей запятой
print(A)
A = np. array([[1, 2, 3], [3, 4, 5]], dtype = complex) # Массив составных чисел
print(A)

Когда вы запустите эту программу, результат будет следующий:

[[1 2 3]
 [3 4 5]]
[[1.1 2. 3.]
 [3. 4. 5.]]
[[1. + 0.j 2. + 0.j 3. + 0.j]
 [3. + 0.j 4. + 0.j 5. + 0.j]]
import numpy as np
zeors_array = np.zeros( (2, 3) )
print(zeors_array)
'''
 Вывод:
 [[0. 0. 0.]
  [0. 0. 0.]]
'''
ones_array = np.ones( (1, 5), dtype=np.int32 ) // указание dtype
print(ones_array)      # Вывод: [[1 1 1 1 1]]

Здесь мы указали dtype — 32 бита (4 байта). Следовательно, этот массив может принимать значения от -2-31 до 2-31-1.

import numpy as np
A = np.arange(4)
print('A =', A)
B = np.arange(12).reshape(2, 6)
print('B =', B)
''' 
Вывод:
A = [0 1 2 3]
B = [[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]]
'''

Узнайте больше о других способах создания массива NumPy .

Выше мы привели пример сложение, умножение матриц и транспонирование матрицы. Мы использовали вложенные списки, прежде чем создавать эти программы.

Рассмотрим, как выполнить ту же задачу, используя массив NumPy.

Мы используем оператор +, чтобы сложить соответствующие элементы двух матриц NumPy.

import numpy as np
A = np.array([[2, 4], [5, -6]])
B = np.array([[9, -3], [3, 6]])
C = A + B      # сложение соответствующих элементов
print(C)
''' 
Вывод:
[[11  1]
 [ 8  0]]
 '''

Чтобы умножить две матрицы, мы используем метод dot(). Узнайте больше о том, как работает numpy.dot .

Примечание: * используется для умножения массива (умножения соответствующих элементов двух массивов), а не умножения матрицы.

import numpy as np
A = np.array([[3, 6, 7], [5, -3, 0]])
B = np.array([[1, 1], [2, 1], [3, -3]])
C = a.dot(B)
print(C)
''' 
Вывод:
[[ 36 -12]
 [ -1   2]]
'''

Мы используем numpy.transpose для вычисления транспонирования матрицы.

import numpy as np
A = np.array([[1, 1], [2, 1], [3, -3]])
print(A.transpose())
''' 
Вывод:
[[ 1  2  3]
 [ 1  1 -3]]
'''

Как видите, NumPy значительно упростил нашу задачу.

Также можно получить доступ к элементам матрицы, используя индекс. Начнем с одномерного массива NumPy.

import numpy as np
A = np.array([2, 4, 6, 8, 10])
print("A[0] =", A[0])     # Первый элемент     
print("A[2] =", A[2])     # Третий элемент     
print("A[-1] =", A[-1])   # Последний элемент     

Когда вы запустите эту программу, результат будет следующий:

A [0] = 2
A [2] = 6
A [-1] = 10

Теперь выясним, как получить доступ к элементам двухмерного массива (который в основном представляет собой матрицу).

import numpy as np
A = np.array([[1, 4, 5, 12],
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]])
#  Первый элемент первой строки
print("A[0][0] =", A[0][0])  
# Третий элемент второй строки
print("A[1][2] =", A[1][2])
# Последний элемент последней строки
print("A[-1][-1] =", A[-1][-1])     

Когда мы запустим эту программу, результат будет следующий:

A [0] [0] = 1
A [1] [2] = 9
A [-1] [- 1] = 19
import numpy as np
A = np. array([[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]])
print("A[0] =", A[0]) # Первая строка
print("A[2] =", A[2]) # Третья строка
print("A[-1] =", A[-1]) # Последняя строка (третья строка в данном случае)

Когда мы запустим эту программу, результат будет следующий:

A [0] = [1, 4, 5, 12]
A [2] = [-6, 7, 11, 19]
A [-1] = [-6, 7, 11, 19]
import numpy as np
A = np.array([[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]])
print("A[:,0] =",A[:,0]) # Первый столбец
print("A[:,3] =", A[:,3]) # Четвертый столбец
print("A[:,-1] =", A[:,-1]) # Последний столбец (четвертый столбец в данном случае)

Когда мы запустим эту программу, результат будет следующий:

A [:, 0] = [1 -5 -6]
A [:, 3] = [12 0 19]
A [:, - 1] = [12 0 19]

Если вы не знаете, как работает приведенный выше код, прочтите раздел «Разделение матрицы».

Разделение одномерного массива NumPy аналогично разделению списка. Рассмотрим пример:

import numpy as np
letters = np. array([1, 3, 5, 7, 9, 7, 5])
# с 3-го по 5-ый элементы
print(letters[2:5])        # Вывод: [5, 7, 9]
# с 1-го по 4-ый элементы
print(letters[:-5])        # Вывод: [1, 3]   
# с 6-го до последнего элемента
print(letters[5:])         # Вывод:[7, 5]
# с 1-го до последнего элемента
print(letters[:])          # Вывод:[1, 3, 5, 7, 9, 7, 5]
# список в обратном порядке
print(letters[::-1])          # Вывод:[5, 7, 9, 7, 5, 3, 1]

Теперь посмотрим, как разделить матрицу.

import numpy as np
A = np.array([[1, 4, 5, 12, 14], 
    [-5, 8, 9, 0, 17],
    [-6, 7, 11, 19, 21]])
print(A[:2, :4])  # две строки, четыре столбца
''' Вывод:
[[ 1  4  5 12]
 [-5  8  9  0]]
'''
print(A[:1,])  # первая строка, все столбцы
''' Вывод:
[[ 1  4  5 12 14]]
'''
print(A[:,2])  # все строки, второй столбец
''' Вывод:
[ 5  9 11]
'''
print(A[:, 2:5])  # все строки, с третьего по пятый столбец
''' Вывод:
[[ 5 12 14]
 [ 9  0 17]
 [11 19 21]]
'''

Использование NumPy вместо вложенных списков значительно упрощает работу с матрицами. Мы рекомендуем детально изучить пакет NumPy, если вы планируете использовать Python для анализа данных.

Вадим Дворниковавтор-переводчик статьи «Python Matrices and NumPy Arrays»

Дайте знать, что вы думаете по этой теме материала в комментариях. За комментарии, дизлайки, отклики, лайки, подписки низкий вам поклон!

Изучаем матрицы в питоне и массивы NumPy в Python

2023-03-19 0 ∞ 1

Матрица — это двухмерная структура данных, в которой числа расположены в виде строк и столбцов. Например:

Эта матрица является матрицей три на четыре, потому что она состоит из 3 строк и 4 столбцов.

  • Матрицы в Python
  • NumPy массивы в Python
  • Как создать массив NumPy?
    • Массив целых чисел, чисел с плавающей точкой и составных чисел
    • Массив нулей и единиц
    • Использование arange() и shape()
  • Операции с матрицами
    • Сложение двух матриц или сумма элементов массива Python
    • Умножение двух матриц Python
    • Транспонирование матрицы питон
  • Доступ к элементам матрицы, строкам и столбца
    • Доступ к элементам матрицы
    • Доступ к строкам матрицы
    • Доступ к столбцам матрицы
  • Разделение матрицы

Python не имеет встроенного типа данных для матриц. Но можно рассматривать список как матрицу. Например:

A = [[1, 4, 5], 
    [-5, 8, 9]]

Этот список является матрицей на 2 строки и 3 столбца.

Обязательно ознакомьтесь с документацией по спискам Python, прежде чем продолжить читать эту статью.

Давайте посмотрим, как работать с вложенным списком.

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]
print("A =", A) 
print("A[1] =", A[1])      # вторая строка
print("A[1][2] =", A[1][2])   # третий элемент второй строки
print("A[0][-1] =", A[0][-1])   # последний элемент первой строки
column = [];        # пустой список
for row in A:
  column.append(row[2])   
print("3rd column =", column)

Когда мы запустим эту программу, результат будет следующий:

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A [1] = [-5, 8, 9, 0]
A [1] [2] = 9
A [0] [- 1] = 12
3-й столбец = [5, 9, 11]

Использование вложенных списков в качестве матрицы подходит для простых вычислительных задач. Но в Python есть более эффективный способ работы с матрицами – NumPy .

NumPy — это расширение для научных вычислений, которое поддерживает мощный объект N-мерного массива. Прежде чем использовать NumPy, необходимо установить его. Для получения дополнительной информации,

  • Ознакомьтесь: Как установить NumPy Python?
  • Если вы работаете в Windows, скачайте и установите дистрибутив anaconda Python. Он поставляется вместе с NumPy и другими расширениями.

После установки NumPy можно импортировать и использовать его.

NumPy предоставляет собой многомерный массив чисел (который на самом деле является объектом). Давайте рассмотрим приведенный ниже пример:

import numpy as np
a = np.array([1, 2, 3])
print(a)               # Вывод: [1, 2, 3]
print(type(a))         # Вывод: <class 'numpy.ndarray'>

Как видите, класс массива NumPy называется ndarray.

Существует несколько способов создания массивов NumPy.

import numpy as np
A = np.array([[1, 2, 3], [3, 4, 5]])
print(A)
A = np.array([[1.1, 2, 3], [3, 4, 5]]) # Массив чисел с плавающей запятой
print(A)
A = np. array([[1, 2, 3], [3, 4, 5]], dtype = complex) # Массив составных чисел
print(A)

Когда вы запустите эту программу, результат будет следующий:

[[1 2 3]
 [3 4 5]]
[[1.1 2. 3.]
 [3. 4. 5.]]
[[1. + 0.j 2. + 0.j 3. + 0.j]
 [3. + 0.j 4. + 0.j 5. + 0.j]]
import numpy as np
zeors_array = np.zeros( (2, 3) )
print(zeors_array)
'''
 Вывод:
 [[0. 0. 0.]
  [0. 0. 0.]]
'''
ones_array = np.ones( (1, 5), dtype=np.int32 ) // указание dtype
print(ones_array)      # Вывод: [[1 1 1 1 1]]

Здесь мы указали dtype — 32 бита (4 байта). Следовательно, этот массив может принимать значения от -2-31 до 2-31-1.

import numpy as np
A = np.arange(4)
print('A =', A)
B = np.arange(12).reshape(2, 6)
print('B =', B)
''' 
Вывод:
A = [0 1 2 3]
B = [[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]]
'''

Узнайте больше о других способах создания массива NumPy .

Выше мы привели пример сложение, умножение матриц и транспонирование матрицы. Мы использовали вложенные списки, прежде чем создавать эти программы. Рассмотрим, как выполнить ту же задачу, используя массив NumPy.

Мы используем оператор +, чтобы сложить соответствующие элементы двух матриц NumPy.

import numpy as np
A = np.array([[2, 4], [5, -6]])
B = np.array([[9, -3], [3, 6]])
C = A + B      # сложение соответствующих элементов
print(C)
''' 
Вывод:
[[11  1]
 [ 8  0]]
 '''

Чтобы умножить две матрицы, мы используем метод dot(). Узнайте больше о том, как работает numpy.dot .

Примечание: * используется для умножения массива (умножения соответствующих элементов двух массивов), а не умножения матрицы.

import numpy as np
A = np.array([[3, 6, 7], [5, -3, 0]])
B = np.array([[1, 1], [2, 1], [3, -3]])
C = a.dot(B)
print(C)
''' 
Вывод:
[[ 36 -12]
 [ -1   2]]
'''

Мы используем numpy.transpose для вычисления транспонирования матрицы.

import numpy as np
A = np.array([[1, 1], [2, 1], [3, -3]])
print(A.transpose())
''' 
Вывод:
[[ 1  2  3]
 [ 1  1 -3]]
'''

Как видите, NumPy значительно упростил нашу задачу.

Также можно получить доступ к элементам матрицы, используя индекс. Начнем с одномерного массива NumPy.

import numpy as np
A = np.array([2, 4, 6, 8, 10])
print("A[0] =", A[0])     # Первый элемент     
print("A[2] =", A[2])     # Третий элемент     
print("A[-1] =", A[-1])   # Последний элемент     

Когда вы запустите эту программу, результат будет следующий:

A [0] = 2
A [2] = 6
A [-1] = 10

Теперь выясним, как получить доступ к элементам двухмерного массива (который в основном представляет собой матрицу).

import numpy as np
A = np.array([[1, 4, 5, 12],
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]])
#  Первый элемент первой строки
print("A[0][0] =", A[0][0])  
# Третий элемент второй строки
print("A[1][2] =", A[1][2])
# Последний элемент последней строки
print("A[-1][-1] =", A[-1][-1])     

Когда мы запустим эту программу, результат будет следующий:

A [0] [0] = 1
A [1] [2] = 9
A [-1] [- 1] = 19
import numpy as np
A = np. array([[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]])
print("A[0] =", A[0]) # Первая строка
print("A[2] =", A[2]) # Третья строка
print("A[-1] =", A[-1]) # Последняя строка (третья строка в данном случае)

Когда мы запустим эту программу, результат будет следующий:

A [0] = [1, 4, 5, 12]
A [2] = [-6, 7, 11, 19]
A [-1] = [-6, 7, 11, 19]
import numpy as np
A = np.array([[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]])
print("A[:,0] =",A[:,0]) # Первый столбец
print("A[:,3] =", A[:,3]) # Четвертый столбец
print("A[:,-1] =", A[:,-1]) # Последний столбец (четвертый столбец в данном случае)

Когда мы запустим эту программу, результат будет следующий:

A [:, 0] = [1 -5 -6]
A [:, 3] = [12 0 19]
A [:, - 1] = [12 0 19]

Если вы не знаете, как работает приведенный выше код, прочтите раздел «Разделение матрицы».

Разделение одномерного массива NumPy аналогично разделению списка. Рассмотрим пример:

import numpy as np
letters = np. array([1, 3, 5, 7, 9, 7, 5])
# с 3-го по 5-ый элементы
print(letters[2:5])        # Вывод: [5, 7, 9]
# с 1-го по 4-ый элементы
print(letters[:-5])        # Вывод: [1, 3]   
# с 6-го до последнего элемента
print(letters[5:])         # Вывод:[7, 5]
# с 1-го до последнего элемента
print(letters[:])          # Вывод:[1, 3, 5, 7, 9, 7, 5]
# список в обратном порядке
print(letters[::-1])          # Вывод:[5, 7, 9, 7, 5, 3, 1]

Теперь посмотрим, как разделить матрицу.

import numpy as np
A = np.array([[1, 4, 5, 12, 14], 
    [-5, 8, 9, 0, 17],
    [-6, 7, 11, 19, 21]])
print(A[:2, :4])  # две строки, четыре столбца
''' Вывод:
[[ 1  4  5 12]
 [-5  8  9  0]]
'''
print(A[:1,])  # первая строка, все столбцы
''' Вывод:
[[ 1  4  5 12 14]]
'''
print(A[:,2])  # все строки, второй столбец
''' Вывод:
[ 5  9 11]
'''
print(A[:, 2:5])  # все строки, с третьего по пятый столбец
''' Вывод:
[[ 5 12 14]
 [ 9  0 17]
 [11 19 21]]
'''

Использование NumPy вместо вложенных списков значительно упрощает работу с матрицами. Мы рекомендуем детально изучить пакет NumPy, если вы планируете использовать Python для анализа данных.

Вадим Дворниковавтор-переводчик статьи «Python Matrices and NumPy Arrays»

Дайте знать, что вы думаете по этой теме материала в комментариях. За комментарии, дизлайки, отклики, лайки, подписки низкий вам поклон!

Python — Матрица — GeeksforGeeks

Здесь мы обсудим различные способы формирования матрицы с помощью Python. В этом руководстве мы также обсудим различные операции, которые можно выполнять с матрицей. мы также рассмотрим внешний модуль Numpy для формирования матрицы и его операции в Python.

 

Что такое матрица?

Матрица представляет собой набор чисел, расположенных в виде прямоугольного массива в строках и столбцах. В области техники, физики, статистики и графики матрицы широко используются для выражения поворотов изображения и других типов преобразований.
Матрица называется матрицей размера m на n и обозначается символом «m x n» , если имеется m строк и n столбцов.

Создание простой матрицы с использованием Python

Метод 1: Создание матрицы со списком из списков

Здесь мы собираемся создать матрицу с использованием списка списков.

Python3

матрица = [[ 1 , 900 26 2 , 3 , 4 ],

     [ 5 , 9002 6 6 , 7 , 8 ],

     [ 9 , 10 , 11 , 12 ]]

 

печать ( "Matrix =" , матрица)

Выход:

 Матрица = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]] 
9001 5 Способ 2 : получение ввода матрицы от пользователя в Python

Здесь мы берем ряд строк и столбцов от пользователя и печатаем матрицу.

Python3

Строка = int ( ввод 9002 6 ( "Введите количество строк:" ))

Столбец = int ( ввод ( "Введите количество столбцов:" 9 0027 ))

 

матрица = [ ]

печать ( "Введите записи построчно:" )

 

для ряд в диапазоне (ряд):   

     a = []

    

     for column in range (Column):  

         a. append( int ( input ()))

     matrix.append(a)

 

для ряд в диапазон (ряд):

     для столбец в диапазон ( Столбец):

         печать (матрица[строка][столбец], конец = "" )

     печать ()

Вывод:

 Введите количество строк:2
Введите количество столбцов: 2
Введите записи построчно:
5
6
7
8
5 6
7 8 

Временная сложность: O(n*n)
Вспомогательное пространство: O(n*n)

Метод 3.

Создание матрицы с использованием понимания списка

Представление списка — это элегантный способ определения и создания списка в Python, используют функцию диапазона для печати 4 строк и 4 столбцов.

Python3

матрица = [[столбец для столбец 90 026 в диапазоне ( 4 )] для ряд в диапазон ( 4 )]

9 0002  

печать (матрица)

Вывод:

 [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]] 

Присвоение значения в матрице

Способ 1: присвоить значение отдельной ячейке в матрице

Здесь мы заменяем и присваиваем значение отдельной ячейке (1 строка и 1 столбец = 11) в матрице.

Python3

X = [[ 1 , 9002 6 2 , 3 , [ 4 , 5 , 6 ], [ 7 , 8 , 9 ]] 9 0003

 

строка = столбец = 1

 

X[строка][столбец] = 11

 

печать (X)

Вывод:

 [[1, 2, 3 ], [4,  11  , 6], [7, 8, 9]] 

Способ 2.

Присвоение значения отдельной ячейке с использованием отрицательного индексирования в матрице

Здесь мы заменяем и присваиваем значение отдельной ячейке (-2 строки и -1 столбца = 21) в матрице.

Python3

строка = - 2

столбец = 9 0027 - 1

 

X[строка][столбец] = 21

 

печать (X)

Вывод:

 [[1, 2, 3], [4, 5,  21  ], [7, 8, 9 ]] 

Доступ к значению в матрице

Метод 1: доступ к значениям матрицы

Здесь мы получаем доступ к элементам матрицы, передавая ее строку и столбец.

Python3

print ( «Матрица в 1 строке и 3 столбцах =» , X[ 0 ][ 2 ])

печать ( "Матрица в 3 строки и 3 столбца=" , X[ 2 ][ 2 ])

Вывод:

 Матрица в 1 строке и 3 столбцах = 3
Матрица с 3 строками и 3 столбцами = 9 

Метод 2: доступ к значениям матрицы с использованием отрицательной индексации

Здесь мы получаем доступ к элементам матрицы, передавая ее строку и столбец с отрицательной индексацией.

Python3

импорт numpy as np

X = [[ 1 , 2 , 3 ], [ 4 900 26, 5 , 6 ], [ 7 , 8 , 9 ]]

 

печать (X[ 9002 6 — 1 ][ - 2 ])

Вывод:

 8 

Математические операции с матрицей в Python

Пример 1.

Добавление значений в матрицу с помощью цикла for в Python

Здесь мы добавляем две матрицы, используя цикл for в Python.

Python3

X = [[ 1 , 900 26 2 , 3 ,[ 4 , 5 , 6 ], [ 7 , 8 , 9 ]] 90 003

Д = [[ 9 , 8 , 7 ], [ 6 , 5 , 4 ], [ 3 , 2 , 1 ]]

 

результат = [[ 0 , 0 , 0 ], [ 900 27 0 , 0 , 0 ], [ 0 , 0 , 0 ]]

 

для 900 27 ряд в диапазон ( len (X)):

    

     для столбца в диапазоне ( len (X[ 0 ])):

         результат[строка][столбец ] = X[строка][столбец] + Y[строка][столбец]

 

для r в результат:

     печать (r)

Вывод:

 [10, 10, 10]
[10, 10, 10]
[10, 10, 10] 

Временная сложность: O(n*n)
Вспомогательное пространство: O(n*n)

Пример 2: Добавление и вычитание значений в матрице с пониманием списка

Выполнение основного сложения и вычитание с использованием понимания списка.

Python3

9 0106

Add_result = [[X[строка][столбец] + Y[строка][столбец]

                для столбец в 9002 6 диапазон ( len (X[ 0 ]))]

               для ряд в диапазон ( len (X)) ]

Sub_result = [[X[строка][столбец] - Y[строка][столбец]

                для столбец в диапазоне 9002 6 ( лен (X[ 0 ]))]

               для ряд в диапазон ( len (X))]

 

печать ( "Сложение матриц" )

для r в Add_result:

     печать (r) 90 027

 

печать ( "\nМатричное вычитание" )

for r in Sub_result:

     print (r)

Выход:

 Добавление матрицы
[10, 10, 10]
[10, 10, 10]
[10, 10, 10]
Матричное вычитание
[-8, -6, -4]
[-2, 0, 2]
[4, 6, 8] 

Временная сложность: O(n*n)
Вспомогательное пространство: O(n*n)

Пример 3: Программа Python для умножения и деления двух матриц

Выполнение базового умножения и деления с использованием цикла Python.

Python3

rmatrix = [[ 0 , 0 , 0 , [ 0 , 0 , 0 ], [ 0 , 0 , 0 ]]

  90 003

для ряд в диапазон ( длина (X )):

     для столбец в диапазон ( len 9002 6 (X[ 0 ])):

         rmatrix[row][ столбец] = X[строка][столбец] * Y[строка][столбец]

          

900 26 печать ( "Матричное умножение" ,)

для r in rmatrix:

     печать (r)

9 0026           

для i в диапазон ( len (X)):

     для j в диапазон 9002 7 ( лен (X[ 0 ])):

         rmatrix[строка][столбец] = X[строка][столбец] / / Y[строка][столбец] ]

 

печать ( "\nРаздел матрицы" ,)  

для r в rmatrix:

     печать (r)

Вывод:

 Умножение матриц
[9, 16, 21]
[24, 25, 24]
[21, 16, 9]
Матричный отдел
[0, 0, 0]
[0, 1, 1]
[2, 4, 9] 

Временная сложность: O(n*n)
Вспомогательное пространство: O(n*n)

Транспонирование в матрице

Пример: Программа Python для транспонирования матрицы с использованием цикла

Транспонирование матрицы достигается заменой строк на столбцы и столбцов на строки. Другими словами, транспонирование A[][] получается путем замены A[i][j] на A[j][i].

Python3

X = [[ 9 , 900 26 8 , 7 , [ 6 , 5 , 4 ], [ 3 , 9результат 0 , 0 , 0 ], [ 0 , 0 , 0 , 0 ]]

 

для ряд в диапазон ( len (X)):

    

     для 9 0027 столбец в диапазон ( len (X[ 0 ]))):

         результат[столбец][строка] = X[строка][столбец]

 

для r в результат:

     печать (r)

      

 

 

Вывод:

 [9, 6, 3]
[8, 5, 2]
[7, 4, 1] 

Временная сложность: O(n*n)
Вспомогательное пространство: O(n*n)

Матрица с использованием Numpy

Создание матрицы с использованием Numpy

Здесь мы создаем массив Numpy с помощью numpy. random и случайный модуль.

Python3

импорт numpy as np

    

массив = np.random.randint( 10 , размер = ( 3 , 3 ))

печать (массив)

Выход: 90 011

 [[2 7 5]
 [8 5 1]
 [8 4 6]] 

Матричные математические операции в Python с использованием Numpy

Здесь мы рассмотрим различные математические операции, такие как сложение, вычитание, умножение и деление, с использованием Numpy.

Python3

x = numpy. array([[ 1 , 90 027 2 ], [ 4 , 5 ]])

y = numpy.array([[ 7 , 8 , [ 9 , 10 ]])

 

печать 900 26 ( "Поэлементное сложение матрицы:" )

печать (numpy.add(x,y))

 

print ( "Поэлементное вычитание матрицы: " )

9 0025 печать (numpy.subtract(x, у))

 

печать ( "Поэлементное умножение матрицы:" )

печать (numpy. multiply(x,y)) 9 0027

 

печать ( «Поэлементное деление матрицы:» )

print (numpy.divide(x,y))

Вывод:

 Поэлементное сложение матрицы является :
[[ 8 10]
 [13 15]]
Поэлементное вычитание матрицы:
[[-6 -6]
 [-5 -5]]
Поэлементное умножение матрицы:
[[ 7 16]
 [36 50]]
Поэлементное деление матрицы:
[[0,14285714 0,25 ]
 [0,44444444 0,5 ]] 

Точечное и перекрестное произведение с матрицей

Здесь мы найдем внутреннее, внешнее и перекрестное произведение матриц и векторов, используя NumPy в Python.

Python3

X = [[ 1 , 900 26 2 , 3 ,[ 4 , 5 , 6 ],[ 7 , 8 , 9 ]]

 

Y = [[ 9 , 8 , 7 ], [ 6 , 1 ]]

 

скалярное произведение = np. dot(X, Д)

print ( "Скалярное произведение двух массивов:" , скалярное произведение)

 

скалярное произведение = 90 027 np.крест(X, Y)

печать ( "Перекрестное произведение двух массивов:" , скалярное произведение)

Выход:

 Скалярное произведение двух массивов: [[ 30 24 18]
 [ 84 69 54 ]
 [138 114 90]]
Перекрестное произведение двух массивов: [[-10 20 -10]
 [-10 20 -10]
 [-10 20 -10]] 

Транспонирование матрицы в Python с использованием Numpy

Чтобы выполнить операцию транспонирования в матрице, мы можем использовать метод numpy.transpose().

Python3

матрица = [[ 1 , 900 26 2 , 3 , [ 4 , 5 , 6 ]]

печать ( "\n" , numpy. transpose(matrix))

Вывод:

 [[1 4][2 5][3 6]] 

Создать пустую матрицу с NumPy в Python

Инициализация пустой массив, используя функцию np.zeros().

Python3

a = np.zeros([ 2 , 900 27 2 ], dtype = int )

print ( "\nМатрица 2x2: \n" , a)

 

c = 90 027 np.zeros([ 3 , 3 ])

печать ( "\nМатрица 3x3: \n" , c)

90 002 Выход:

 Матрица 2x2:
 [[0 0]
 [0 0]]
Матрица 3x3:
 [[0.  0. 0.]
 [0. 0. 0.]
 [0. 0. 0.]] 

Нарезка в матрице с использованием Numpy

Нарезка — это процесс выбора определенных строк и столбцов из матрицы и последующего создания новой матрицы путем удаления всех невыбранных элементов. В первом примере мы печатаем всю матрицу, во втором мы передаем 2 в качестве начального индекса, 3 в качестве последнего индекса и скачок индекса в качестве 1. То же самое используется в следующем принте, мы только изменили индекс перейти к 2.

Python3

X = np.array([[ 6 , 8 , 10 ], 900 27

     [ 9 , - 12 , 15 ],

     [ 12 , 1 6 , 20 ],

     [ 15 , - 20 , 25 ]])

 

печать 90 027 (X[:])

 

печать ( "\nНарезка третьего Строка-вторая колонка: " , X [ 2 : 3 , 1 ]) 9000 3

print ( "\nНарезка третьей строки — третьего столбца: " , Х[ 2 : 3 , 2 ])

9 0010 Вывод:

 [[ 6 8 10]
 [ 9 -12 15]
 [ 12 16 20 ]
 [ 15 -20 25]]
 Разрезание третьей строки — второй столбец: [16]
 Нарезка третьей строки — третьего столбца: [20] 

Удаление строк и столбцов с помощью Numpy

Здесь мы пытаемся удалить строки с помощью функции np. delete(). В коде мы сначала пытались удалить 0 th ряд, затем мы попытались удалить 2 й ряд, а затем 3 й ряд.

Python3

a = np.array([[ 6 , 90 027 8 , 10 ],

     [ 9 , - 12 , 15 ],

     [ 12 , 16 , 20 ],

     [ 15 , - 20 , 25 ]] )

 

данные = np. delete(a, 0 , 0 900 27 )

print ( "данные после 0-й строки удалены:" , данные)

 

данные = np.delete(a, 1 , 9002 7 0 )

печать ( "\nданные после 1 строка удалена: " , данные)

 

данные = np.delete(a, 2 , 0 )

печать ( "\nданные после 2-й строки удалены: " , данные)

Вывод:

 данные после удаления 0-й строки:
[[ 9 -12 15]
 [ 12 16 20 ]
 [ 15 -20 25]]
данные после удаления 1-й строки:
[[ 6 8 10]
 [ 12 16 20 ]
 [ 15 -20 25]]
данные после удаления 2-й строки:
[[ 6 8 10]
 [ 9 -12 15]
 [ 15 -20 25]] 

Добавить строку/столбцы в массив Numpy

Мы добавили еще один столбец в позицию 4 th , используя np. hstack.

Python3

ini_array = np.array([[ 6 , 8 , 10 ],

                      [ 9 , 900 27 - 12 , 15 ],

                       900 26 [ 15 , - 20 , 25 ]])

 

column_to_be_added = np.array([ 1 9002 результат = np.hstack((ini_array, np.atleast_2d(column_to_be_added).T))

 

print ( "\nрезультирующий массив\n" , стр ( результат))

Вывод:

 результирующий массив
 [[ 6 8 10 1]
 [ 9 -12 15 2]
 [ 15 -20 25 3]] 

Примеры транспонирования, умножения, массивов NumPy

Что такое матрица Python?

Матрица Python — это специализированный двумерный прямоугольный массив данных, хранящихся в строках и столбцах. Данные в матрице могут быть числами, строками, выражениями, символами и т. д. Матрица — одна из важных структур данных, которую можно использовать в математических и научных расчетах.

Из этого руководства по Python вы узнаете:

  • Что такое матрица Python?
  • Как работают матрицы Python?
  • Создание матрицы Python с использованием типа данных вложенного списка
  • Чтобы прочитать данные внутри Python Matrix, используя список.
  • Пример 2: Чтобы прочитать последний элемент из каждой строки.
  • Пример 3: Печать строк в матрице
  • Добавление матриц с использованием вложенного списка
  • Умножение матриц с использованием вложенного списка
  • Создание матрицы Python с использованием массивов из пакета Python Numpy
  • Матричная операция с использованием Numpy.Array()
  • Доступ к матрице NumPy

Как работают матрицы Python?

Данные внутри двумерного массива в матричном формате выглядят следующим образом:

Шаг 1)

Он показывает матрицу 2×2. Он имеет две строки и 2 столбца. Данные внутри матрицы являются числами. Строка1 имеет значения 2,3, а строка2 имеет значения 4,5. Столбцы, т. е. col1, имеют значения 2,4, а col2 — значения 3,5.

Шаг 2)

Показывает матрицу 2×3. Он имеет две строки и три столбца. Данные внутри первой строки, т. е. row1, имеют значения 2, 3, 4, а row2 — значения 5, 6, 7. Столбцы col1 имеют значения 2,5, col2 имеют значения 3,6, а col3 имеют значения 4,7.

Точно так же вы можете хранить свои данные внутри матрицы nxn в Python. Многие операции могут быть выполнены с матричным сложением, вычитанием, умножением и т. д.

В Python нет простого способа реализации матричного типа данных.

Матрица Python использует массивы, и то же самое можно реализовать.

  • Создание матрицы Python с использованием типа данных вложенного списка
  • Создание матрицы Python с использованием массивов из пакета Python Numpy

Создание матрицы Python с использованием типа данных вложенного списка

В Python массивы представляются с использованием типа данных списка. Итак, теперь мы будем использовать список для создания матрицы Python.

Мы создадим матрицу 3×3, как показано ниже:

  • Матрица состоит из 3 строк и 3 столбцов.
  • Первая строка в формате списка будет следующей: [8,14,-6]
  • Вторая строка в списке будет: [12,7,4]
  • Третья строка в списке будет: [-11,3,21]

Матрица внутри списка со всеми строками и столбцами показана ниже:

 Список = [[Row1],
           [Ряд 2],
           [Строка 3]
           ...
           [РядN]]
 

Таким образом, в соответствии с приведенной выше матрицей тип списка с матричными данными выглядит следующим образом:

 М1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
 

Для чтения данных внутри Python Matrix с помощью списка.

Мы будем использовать матрицу, определенную выше. Пример будет читать данные, печатать матрицу, отображать последний элемент из каждой строки.

Пример: для печати матрицы

 M1 = [[8, 14, -6],
           [12,7,4],
           [-11,3,21]]
#Чтобы распечатать матрицу
печать(M1)
 

Вывод:

 Матрица M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
 

Пример 2: Чтобы прочитать последний элемент из каждой строки.

 М1 = [[8, 14, -6],
           [12,7,4],
           [-11,3,21]]
длина_матрицы = длина (M1)
#Чтобы прочитать последний элемент из каждой строки.
для i в диапазоне (matrix_length):
    печать (M1[i][-1])
 

Вывод:

 -6
4
21
 

Пример 3: Печать строк в матрице

 M1 = [[8, 14, -6],
           [12,7,4],
           [-11,3,21]]
длина_матрицы = длина (M1)
#Чтобы напечатать строки в матрице
для i в диапазоне (matrix_length):
    печать (M1 [я])
 

Вывод:

 [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, который будет проходить по обеим заданным матрицам.

 М1 = [[8, 14, -6],
      [12,7,4],
      [-11,3,21]]
М2 = [[3, 16, -6],
           [9,7,-4],
           [-1,3,13]]
М3 = [[0,0,0],
       [0,0,0],
       [0,0,0]]
длина_матрицы = длина (M1)
#Чтобы добавить матрицы M1 и M2
для i в диапазоне (len (M1)):
для k в диапазоне (len (M2)):
        M3[i][k] = M1[i][k] + M2[i][k]
#Распечатать матрицу
print("Сумма матриц M1 и M2 = ", M3)
 

Вывод:

 Сумма матриц M1 и M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
 

Умножение матриц с использованием вложенного списка

Чтобы умножить матрицы, мы можем использовать цикл for для обеих матриц, как показано в коде ниже:

 M1 = [[8, 14, -6],
      [12,7,4],
      [-11,3,21]]
М2 = [[3, 16, -6],
           [9,7,-4],
           [-1,3,13]]
М3 = [[0,0,0],
       [0,0,0],
       [0,0,0]]
длина_матрицы = длина (M1)
#Для умножения матриц M1 и M2
для i в диапазоне (len (M1)):
для k в диапазоне (len (M2)):
        M3[i][k] = M1[i][k] * M2[i][k]
#Распечатать матрицу
print("Умножение матриц M1 и M2 = ", M3)
 

Вывод:

 Умножение матриц M1 и 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 

создать матрица питона.

Пример: массив в Numpy для создания матрицы Python

 импортировать numpy как np
M1 = np.массив([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])
печать(M1)
 

Вывод:

 [[ 5 -10 15]
 [ 3 -6 9]
 [-4 8 12]]
 

Матричная операция с использованием Numpy.Array()

Матричная операция, которую можно выполнить, — это сложение, вычитание, умножение, транспонирование, чтение строк, столбцов матрицы, нарезка матрицы и т. д. Во всех примерах мы собирается использовать метод array().

Сложение матрицы

Чтобы выполнить сложение матрицы, мы создадим две матрицы с помощью numpy.array() и добавим их с помощью оператора (+).

Пример:

 импортировать numpy как 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]])
М3 = М1 + М2
печать(M3)
 

Вывод:

 [[ 12 -12 36]
 [ 16 12 48 ]
 [ 6 -12 60]]
 

Вычитание матрицы

Чтобы выполнить вычитание матрицы, мы создадим две матрицы с помощью numpy.array() и вычтем их с помощью оператора (-).

Пример:

 импортировать numpy как 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]])
М3 = М1 - М2
печать(M3)
 

Вывод:

 [[ -6 24 -18]
 [-6-32-18]
 [-20 40 -18]]
 

Умножение матриц

Сначала создадим две матрицы, используя numpy. arary(). Чтобы умножить их, вы можете использовать метод numpy dot(). Numpy.dot() — это точечный продукт матриц M1 и M2. Numpy.dot() обрабатывает двумерные массивы и выполняет умножение матриц.

Пример:

 импортировать numpy как np
M1 = np.массив ([[3, 6], [5, -10]])
M2 = np.массив ([[9, -18], [11, 22]])
М3 = М1.точка(М2)
печать(M3)
 

Вывод:

 [[ 93 78]
 [-65-310]]
 

Транспонирование матрицы

Транспонирование матрицы вычисляется путем преобразования строк в столбцы и столбцов в строки. Функцию transpose() из Numpy можно использовать для вычисления транспонирования матрицы.

Пример:

 импортировать numpy как np
M1 = np.массив([[3, 6, 9], [5, -10, 15], [4,8,12]])
M2 = M1.транспонировать()
печать(М2)
 

Вывод:

 [[ 3 5 4]
 [ 6 -10 8]
 [ 9 15 12]]
 

Нарезка матрицы

Нарезка вернет вам элементы из матрицы на основе заданного начального/конечного индекса.

  • Синтаксис для нарезки – [начало:конец]
  • Если начальный индекс не указан, он считается равным 0. Например, [:5], это означает как [0:5].
  • Если конец не передан, он будет считаться длиной массива.
  • Если начало/конец имеют отрицательные значения, то нарезка будет выполняться с конца массива.

Прежде чем мы приступим к срезу матрицы, давайте сначала разберемся, как применить срез к простому массиву.

 импортировать numpy как np
массив = np.массив ([2,4,6,8,10,12,14,16])
print(arr[3:6]) # напечатает элементы с 3 по 5
print(arr[:5]) # напечатает элементы от 0 до 4
print(arr[2:]) # напечатает элементы от 2 до длины массива.
print(arr[-5:-1]) # будет печатать с конца, т.е. от -5 до -2
print(arr[:-1]) # будет печатать с конца, т.е. от 0 до -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[начало_строки:конец_строки, начало_столбца:конец_столбца]

  • Первое начало/конец будет для строки, т. е. для выбора строк матрицы.
  • Второе начало/конец будет для столбца, т.е. для выбора столбцов матрицы.

Матрица M1 t, которую мы собираемся использовать, выглядит следующим образом:

 M1 = np.массив([[2, 4, 6, 8, 10],
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
 

Всего 4 ряда. Индекс начинается с 0 до 3. Строка 0 th — это [2,4,6,8,10], строка 1 st — это [3,6,9,-12,-15], за которой следуют 2 и 3 .

Матрица M1 имеет 5 столбцов. Индекс начинается от 0 до 4. Столбец 0 th имеет значения [2,3,4,5], столбцы 1 st имеют значения [4,6,8,-10], за которыми следуют 2 , 3-й , 4-й и 5-й -й.

Вот пример, показывающий, как получить данные строк и столбцов из матрицы с помощью срезов. В примере мы печатаем строки 1 st и 2 nd , а для столбцов нам нужны первый, второй и третий столбцы. Чтобы получить этот вывод, мы использовали: M1[1:3, 1:4]

Пример:

 import numpy as np
M1 = np.массив([[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]) # Для 1:3 это даст первую и вторую строку.
#Столбцы будут взяты с первого по третий.
 

Вывод:

 [[ 6 9 -12]
 [ 8 12 16]]
 

Пример: для печати всех строк и третьих столбцов

 импортировать numpy как np
M1 = np.массив([[2, 4, 6, 8, 10],
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:,3]) # Это напечатает все строки и данные третьего столбца.
 

Вывод:

 [8-12 16-20]
 

Пример: для печати первой строки и всех столбцов

 импортировать numpy как np
M1 = np.массив([[2, 4, 6, 8, 10],
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:1,]) # Будет напечатана первая строка и все столбцы
 

Вывод:

 [[ 2 4 6 8 10]]
 

Пример: для печати первых трех строк и первых двух столбцов

 импортировать numpy как np
M1 = np. массив([[2, 4, 6, 8, 10],
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
печать (M1 [: 3,: 2])
 

Вывод:

 [[2 4]
 [3 6]
 [4 8]]
 

Доступ к матрице NumPy

Мы видели, как работает нарезка. Принимая это во внимание, мы узнаем, как получить строки и столбцы из матрицы.

Для печати строк матрицы

В примере будут напечатаны строки матрицы.

Пример:

 импортировать numpy как np
M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])
print(M1[0]) # первая строка
print(M1[1]) # вторая строка
print(M1[-1]) # -1 напечатает последнюю строку
 

Вывод:

 [3 6 9]
[ 5 -10 15]
[ 4 8 12]
 

Чтобы получить последнюю строку, вы можете использовать индекс или -1. Например, матрица имеет 3 строки:

, поэтому M1[0] даст вам первую строку,

M1[1] даст вам вторую строку

M1[2] или M1[-1] даст вам третий ряд или последний ряд.

Для печати столбцов матрицы

 импортировать numpy как np
M1 = np. массив([[2, 4, 6, 8, 10],
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:,0]) # Будет напечатан первый столбец
print(M1[:,3]) # Будет напечатан третий столбец
print(M1[:,-1]) # -1 даст вам последний столбец
 

Вывод:

 [2 3 4 5]
[ 8 -12 16 -20]
[ 10 -15 -20 25]
 

Сводка:

  • Матрица Python представляет собой специализированный двумерный прямоугольный массив данных, хранящихся в строках и столбцах. Данные в матрице могут быть числами, строками, выражениями, символами и т. д. Матрица — одна из важных структур данных, которую можно использовать в математических и научных расчетах.
  • В Python нет простого способа реализовать матричный тип данных. Матрица Python может быть создана с использованием типа данных вложенного списка и библиотеки numpy.
  • Библиотека Python Numpy помогает работать с массивами. Numpy обрабатывает массив немного быстрее, чем список.
  • Матричная операция, которую можно выполнять, это сложение, вычитание, умножение, транспонирование, чтение строк, столбцов матрицы, разрезание матрицы и т.