python
Python 행렬은 행과 열에 저장된 데이터의 특수한 2차원 직사각형 배열입니다. 행렬의 데이터는 숫자, 문자열, 표현식, 기호 등이 될 수 있습니다. 행렬은 수학 및 과학 계산에 사용할 수 있는 중요한 데이터 구조 중 하나입니다.
이 Python 자습서에서는 다음을 배우게 됩니다.
행렬 형식의 2차원 배열 내부 데이터는 다음과 같습니다.
1단계)
2×2 행렬을 보여줍니다. 2개의 행과 2개의 열이 있습니다. 행렬 내부의 데이터는 숫자입니다. row1의 값은 2,3이고 row2의 값은 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입니다.
마찬가지로 Python의 nxn 행렬 내부에 데이터를 저장할 수 있습니다. 행렬과 같은 덧셈, 뺄셈, 곱셈 등에 대해 많은 연산을 수행할 수 있습니다.
Python에는 행렬 데이터 유형을 구현하는 간단한 방법이 없습니다.
파이썬 행렬은 배열을 사용하며 똑같이 구현할 수 있습니다.
Python에서 배열은 목록 데이터 유형을 사용하여 표현됩니다. 이제 목록을 사용하여 파이썬 행렬을 만들 것입니다.
아래와 같이 3×3 행렬을 생성합니다.
모든 행과 열이 있는 목록 내부의 행렬은 다음과 같습니다.
List = [[Row1], [Row2], [Row3] ... [RowN]]
따라서 위에 나열된 행렬에 따라 행렬 데이터가 있는 목록 유형은 다음과 같습니다.
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
위에서 정의한 매트릭스를 사용할 것입니다. 예제는 데이터를 읽고, 행렬을 인쇄하고, 각 행의 마지막 요소를 표시합니다.
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]]
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
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]]
파이썬 라이브러리 Numpy는 배열을 다루는 데 도움이 됩니다. Numpy는 목록에 비해 배열을 조금 더 빠르게 처리합니다.
Numpy를 사용하려면 먼저 Numpy를 설치해야 합니다. Numpy를 설치하려면 아래 단계를 따르세요.
1단계)
Numpy를 설치하는 명령은 다음과 같습니다.
pip install NumPy
2단계)
코드에서 Numpy를 사용하려면 가져와야 합니다.
import NumPy
3단계)
아래와 같이 별칭을 사용하여 Numpy를 가져올 수도 있습니다.
import NumPy as np
Numpy의 array() 메서드를 사용하여 파이썬 행렬을 만들 것입니다.
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]]
수행할 수 있는 행렬 연산은 덧셈, 뺄셈, 곱셈, 전치, 행렬의 행, 열 읽기, 행렬 슬라이싱 등입니다. 모든 예제에서 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]]
행렬에서 빼기를 수행하기 위해 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)
출력:
[[ -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]]
행렬의 전치는 행을 열로, 열을 행으로 변경하여 계산됩니다. Numpy의 transpose() 함수를 사용하여 행렬의 전치를 계산할 수 있습니다.
예:
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]]
슬라이싱은 주어진 시작/종료 인덱스를 기반으로 매트릭스에서 요소를 반환합니다.
행렬에서 슬라이스 작업을 하기 전에 먼저 간단한 배열에 슬라이스를 적용하는 방법을 이해하겠습니다.
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까지 시작합니다. 0 번째 행은 [2,4,6,8,10], 1 st 입니다. 행은 [3,6,9,-12,-15] 다음에 2 nd 가 옵니다. 및 3 번째 .
행렬 M1에는 5개의 열이 있습니다. 인덱스는 0에서 4까지 시작합니다. 0 번째 열에 [2,3,4,5], 1 st 값이 있습니다. 열에는 [4,6,8,-10] 값과 2 nd 값이 있습니다. , 3 번째 , 4 , 5 .
다음은 슬라이싱을 사용하여 행렬에서 행과 열 데이터를 가져오는 방법을 보여주는 예입니다. 이 예에서는 1 st 를 인쇄하고 있습니다. 그리고 2 nd 행, 열의 경우 첫 번째, 두 번째 및 세 번째 열이 필요합니다. 그 출력을 얻기 위해 우리는 다음을 사용했습니다: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]]
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]]
우리는 슬라이싱이 어떻게 작동하는지 보았습니다. 이를 고려하여 행렬에서 행과 열을 가져오는 방법을 알아보겠습니다.
예제에서는 행렬의 행을 인쇄합니다.
예:
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]
python
PyQt란 무엇입니까? PyQt 오픈 소스 위젯 툴킷 Qt의 파이썬 바인딩으로, 플랫폼 간 애플리케이션 개발 프레임워크로도 기능합니다. Qt는 모든 주요 데스크탑, 모바일 및 임베디드 플랫폼(Linux, Windows, MacOS, Android, iOS, Raspberry Pi 등 지원)용 GUI 애플리케이션을 작성하기 위한 인기 있는 C++ 프레임워크입니다. PyQt는 영국에 기반을 둔 회사인 Riverbank Computing에서 개발 및 유지 관리하는 무료 소프트웨어인 반면 Qt는 The Qt Company라는 핀란드 회
파이썬의 모듈은 무엇입니까? 모듈은 파이썬 코드가 있는 파일입니다. 코드는 정의된 변수, 함수 또는 클래스의 형태일 수 있습니다. 파일 이름이 모듈 이름이 됩니다. 예를 들어 파일 이름이 guru99.py이면 모듈 이름은 guru99가 됩니다. . 모듈 기능을 사용하면 한 파일 안에 모든 것을 작성하는 대신 코드를 여러 파일로 나눌 수 있습니다. 이 자습서에서는 다음을 배우게 됩니다. 파이썬의 모듈은 무엇입니까? 파이썬 가져오기 모듈 Python에서 모듈을 만들고 가져오는 방법은 무엇입니까? Python에서 클래스