본문 바로가기
Language/Python

NumPy 기본 구문 & 함수

by Mesut Özil 2023. 12. 26.

NumPy 기본 구문 & 함수

NumPy는 파이썬에서 사용되는 수학 및 과학 연산을 위한 라이브러리로,

다차원 배열을 다루는 데 특화되어 있습니다. 아래는 몇 가지 numpy의 기본 문법과 예시 코드입니다.

 

1. np.array

  • 배열 생성
import numpy as np

# 1차원 배열 생성
arr1 = np.array([1, 2, 3])

# 2차원 배열 생성
arr2 = np.array([[1, 2, 3], [4, 5, 6]])

# 주어진 범위 내에서 일정 간격으로 배열 생성
arr3 = np.arange(0, 10, 2)  # 0부터 10까지 2씩 증가

# 주어진 구간을 나누어 배열 생성
arr4 = np.linspace(0, 1, 5)  # 0부터 1까지 5개의 값으로 나눔

# 영행렬, 단위행렬 생성
zeros_arr = np.zeros((2, 3))  # 2x3의 영행렬
ones_arr = np.ones((3, 3))    # 3x3의 단위행렬

 

2. np.reshape

  • 배열 조작
import numpy as np

# 배열 크기 변경
arr = np.array([[1, 2, 3], [4, 5, 6]])
reshaped_arr = arr.reshape((3, 2)) # 2행3열 → 3행2열 (변경)

# 배열 전치
transposed_arr = arr.T # 행↔열 변경 (2행3열 → 3행2열)

# 배열 합치기
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
concatenated_arr = np.concatenate((arr1, arr2))
# 결과: array([1, 2, 3, 4, 5, 6])

# 배열 슬라이싱
arr = np.array([1, 2, 3, 4, 5])
subset = arr[1:4]
# 결과: array([2, 3, 4])

 

3. 통계 및 수학 함수

  • np.sum, np.mean, np.std, np.max, np.min, np.argmax, np.argmin
import numpy as np

# 배열 요소의 합, 평균, 표준편차 계산
arr = np.array([1, 2, 3, 4, 5])
sum_arr = np.sum(arr) # 15
mean_arr = np.mean(arr) # 3.0
std_arr = np.std(arr) # 1.4142135623730951

# 최댓값, 최솟값 및 최댓값의 인덱스 최솟값의 인덱스 찾기
max_value = np.max(arr) # 5
min_value = np.min(arr) # 1
max_index = np.argmax(arr) # 0 (최댓값의 인덱스)
min_index = np.argmin(arr) # 4 (최솟값의 인덱스)

# 행렬 곱셈
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
matrix_product = np.dot(matrix1, matrix2)
# 결과: array([[19, 22],
#              [43, 50]])

 

행렬 곱셈(np.dot(matrix1, matrix2) 계산 과정

  • matrix_product[0][0] = 1×5 + 2×7 = 19
  • matrix_product[0][1] = 1×6 + 2×8 = 22
  • matrix_product[1][0] = 3×5 + 4×7 = 43
  • matrix_product[1][1] = 3×6 + 4×8 = 50

 

4. np.sqrt

  • 제곱근 계산 함수
import numpy as np

arr = np.array([4, 9, 16])

# 각 요소의 제곱근 계산
sqrt_arr = np.sqrt(arr)

print(sqrt_arr)
# 결과: array([2., 3., 4.])

 

5. np.power

  • 거듭제곱 계산 함수
import numpy as np

arr = np.array([2, 3, 4])

# 각 요소를 3제곱 계산
power_arr = np.power(arr, 3)

print(power_arr)
# 결과: array([ 8, 27, 64], dtype=int32)

 

6. np.exp

  • 지수 함수 계산 함수
import numpy as np

arr = np.array([1, 2, 3])

# 각 요소의 지수 함수 값 계산
exp_arr = np.exp(arr)

print(exp_arr)
# 결과: array([ 2.71828183,  7.3890561 , 20.08553692])

 

7. np.sin, np.cos

  • 삼각 함수 계산 함수
import numpy as np
import matplotlib.pyplot as plt

# 각도 배열 생성
angles = np.linspace(0, 2 * np.pi, 100)

# 삼각 함수 계산
sin_values = np.sin(angles)
cos_values = np.cos(angles)

# 그래프 그리기
plt.plot(angles, sin_values, label='sin')
plt.plot(angles, cos_values, label='cos')
plt.title('Sin and Cos Functions')
plt.legend()
plt.show()

 

위 코드는 0부터 2π까지의 각도에 대한 사인과 코사인 함수를 계산하고 그래프로 나타냅니다.

 

 

 

본 게시글은 ChatGPT의 도움을 받아 작성하였습니다.

'Language > Python' 카테고리의 다른 글

chr 함수, ord 함수 (시저 암호)  (0) 2023.12.28
Fraction 클래스  (2) 2023.12.27
List comprehension  (0) 2023.12.24
sorted, sort 함수  (0) 2023.12.22
map 함수  (0) 2023.12.21