파이썬 NumPy로 배열 생성과 조작 기본 연산 쉽게 마스터
파이썬은 다양한 데이터 과학 및 과학적 계산을 위해 널리 사용되는 라이브러리 중 하나로, NumPy는 파이썬에서 가장 인기 있는 수치 연산 라이브러리입니다. 이 글에서는 파이썬 NumPy를 사용하여 배열을 생성하고 기본 연산을 수행하는 방법을 쉽게 설명하겠습니다.
1. NumPy 소개
NumPy는 파이썬에서 수치 연산을 위한 표준 라이브러리입니다. 배열을 다루는 기능을 제공하며, 고성능의 수치 연산을 가능하게 합니다. NumPy를 사용하면 파이썬의 기본 자료형을 넘어서 더 복잡한 데이터 구조를 다루는 데 도움이 됩니다.
1.1 NumPy 설치
NumPy를 설치하는 방법은 간단합니다. 파이썬 패키지 관리자인 pip를 사용하여 설치할 수 있습니다.
pip install numpy
1.2 NumPy 기본 사용법
NumPy를 사용하기 위해서는 numpy
모듈을 import해야 합니다.
import numpy as np
2. 배열 생성
NumPy에서 배열을 생성하는 방법은 여러 가지가 있습니다. 가장 기본적인 방법은 numpy.array()
함수를 사용하는 것입니다.
2.1 1차원 배열 생성
1차원 배열을 생성하는 예제입니다.
import numpy as np
# 1차원 배열 생성
arr = np.array([1, 2, 3, 4, 5])
print(arr) # [1 2 3 4 5]
2.2 2차원 배열 생성
2차원 배열을 생성하는 예제입니다.
import numpy as np
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(matrix)
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
3. 배열의 기본 연산
NumPy에서 배열의 기본 연산은 매우 간단하고 빠릅니다. 여기서는 주요 연산을 설명하겠습니다.
3.1 배열의 요소 접근
배열의 요소를 접근하는 방법은 인덱스를 사용하는 것입니다.
import numpy as np
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 요소 접근
print(matrix[0][0]) # 1
print(matrix[1][2]) # 6
3.2 배열의 요소 변경
배열의 요소를 변경하는 방법은 인덱스를 사용하여 값을 할당하는 것입니다.
import numpy as np
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 요소 변경
matrix[0][0] = 10
print(matrix)
# [[10 2 3]
# [4 5 6]
# [7 8 9]]
3.3 배열의 요소 삭제
배열의 요소를 삭제하는 방법은 numpy.delete()
함수를 사용하는 것입니다.
import numpy as np
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 요소 삭제
matrix = np.delete(matrix, 0, axis=0)
print(matrix)
# [[4 5 6]
# [7 8 9]]
3.4 배열의 요소 복사
배열의 요소를 복사하는 방법은 numpy.copy()
함수를 사용하는 것입니다.
import numpy as np
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 요소 복사
copied_matrix = np.copy(matrix)
print(copied_matrix)
# [[1 2 3]
# [4 5 6]
# [7 8 9]]
4. 배열의 기본 연산
NumPy에서 배열의 기본 연산은 다음과 같습니다.
4.1 배열의 합
배열의 합을 계산하는 방법은 numpy.sum()
함수를 사용하는 것입니다.
import numpy as np
# 1차원 배열 생성
arr = np.array([1, 2, 3, 4, 5])
# 합 계산
sum_arr = np.sum(arr)
print(sum_arr) # 15
4.2 배열의 평균
배열의 평균을 계산하는 방법은 numpy.mean()
함수를 사용하는 것입니다.
import numpy as np
# 1차원 배열 생성
arr = np.array([1, 2, 3, 4, 5])
# 평균 계산
mean_arr = np.mean(arr)
print(mean_arr) # 3.0
4.3 배열의 최대값과 최소값
배열의 최대값과 최소값을 계산하는 방법은 numpy.max()
와 numpy.min()
함수를 사용하는 것입니다.
import numpy as np
# 1차원 배열 생성
arr = np.array([1, 2, 3, 4, 5])
# 최대값 계산
max_arr = np.max(arr)
print(max_arr) # 5
# 최소값 계산
min_arr = np.min(arr)
print(min_arr) # 1
4.4 배열의 행렬 곱
배열의 행렬 곱을 계산하는 방법은 numpy.dot()
함수를 사용하는 것입니다.
import numpy as np
# 2차원 배열 생성
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
# 행렬 곱 계산
dot_product = np.dot(matrix1, matrix2)
print(dot_product)
# [[19 22],
# [43 50]]
5. 배열의 정보 확인
배열의 정보를 확인하는 방법은 numpy.shape
, numpy.size
, numpy.ndim
함수를 사용하는 것입니다.
import numpy as np
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 행과 열 확인
print(matrix.shape) # (3, 3)
# 전체 사이즈 확인
print(matrix.size) # 9
# 차원 확인
print(matrix.ndim) # 2
6. 배열의 flatten
배열을 flatten하는 방법은 numpy.flatten()
함수를 사용하는 것입니다.
import numpy as np
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# flatten
flattened_matrix = matrix.flatten()
print(flattened_matrix)
# [1 2 3 4 5 6 7 8 9]
7. 배열의 rank
배열의 rank를 확인하는 방법은 numpy.linalg.matrix_rank()
함수를 사용하는 것입니다.
import numpy as np
# 2차원 배열 생성
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# rank 확인
rank_matrix = np.linalg.matrix_rank(matrix)
print(rank_matrix) # 2
8. 결론
파이썬 NumPy를 사용하여 배열을 생성하고 기본 연산을 수행하는 것은 매우 간단하고 빠릅니다. NumPy의 다양한 함수와 메서드를 사용하면 데이터 과학 및 과학적 계산을 위한 다양한 작업을 효율적으로 수행할 수 있습니다. 이 글에서 설명한 내용을 통해 파이썬 NumPy를 쉽게 마스터할 수 있습니다.
'[개발] 파이썬' 카테고리의 다른 글
7.3. Matplotlib (2) | 2024.12.30 |
---|---|
7.2. Pandas (0) | 2024.12.30 |
6.3. 파이썬 메타 프로그래밍 (4) | 2024.12.27 |
6.2. 파이썬 이터레이터와 컨텍스트 매니저 (0) | 2024.12.27 |
6.1. 파이썬 데코레이터와 제너레이터 (0) | 2024.12.27 |