상세 컨텐츠

본문 제목

파이썬 기초 4. Numpy

기초/파이썬

by 2^7 2024. 9. 8. 13:33

본문

Numpy

대규모 다차원 배열과 행렬을 효율적으로 처리할 수 있도록 해줌
데이터를 분석하고, 배열 연산을 빠르게 수행하며, 다양한 수학적 기능을 지원하여, 데이터 과학, 머신러닝, 인공지능 등의 분야에서 자주 사용됨

NumPy를 사용하기 위해서는 Python 패키지 관리자인 pip를 통해 간단히 설치 후 사용이 가능

pip install numpy  #numpy 설치

import numpy as np #numpy 호출

 

1. Numpy 배열 생성

 1.1 리스트를 배열로 변환하기
       기본적으로 Python 리스트를 numpy.array()를 통해 배열로 변환할 수 있음

import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
arr2 = np.array([[1, 2, 3],
               [4, 5, 6], 
               [7, 8, 9]])        #Matrix - 2D Array - Rank2 Tensor
                
print(arr2)

1.2 기본 배열 생성 함수

  • np.zeros(): 모든 값이 0인 배열 생성
  • np.ones(): 모든 값이 1인 배열 생성
  • np.eye(): 단위 행렬 생성
  • np.arange(): 일정 범위 내의 숫자를 생성
  • np.linspace(): 시작과 끝 범위 사이의 숫자를 일정하게 나누어 생성
# 0부터 9까지의 배열을 생성

arr = np.arange(0, 10)
print(arr)

 

2. 배열 연산

리스트와 달리 NumPy 배열은 벡터화된 연산을 지원하여 훨씬 빠르게 수학 연산을 수행할 수 있음

 2-1. 기본 연산

arr = np.array([1, 2, 3, 4, 5])
print(arr + 10)  # 배열의 모든 요소에 10을 더함

2-2. 배열 간 연산

두 배열 간에도 같은 위치의 요소끼리 연산이 가능

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2)  # 각 요소끼리 더함

2-3. 통계 연산

  • np.sum(): 배열의 합
  • np.mean(): 평균
  • np.std(): 표준 편차
  • np.max() 및 np.min(): 최대값과 최소값
arr = np.array([1, 2, 3, 4, 5])
print(np.mean(arr))  # 평균 값

 

3. 배열의 형태 변경

3-1. 배열의 크기 조정(reshape)

배열의 크기를 변경하여 다른 차원의 배열로 만들 수 있음

arr = np.arange(1, 10)
reshaped_arr = arr.reshape(3, 3)  # 3x3 배열로 변환
print(reshaped_arr)

3-2. 배열 차원 추가 및 제거

  • np.expand_dims(): 배열에 새로운 차원을 추가
  • np.squeeze(): 불필요한 차원을 제거

 

4. 인덱싱과 슬라이싱

리스트처럼 NumPy 배열도 인덱싱과 슬라이싱을 지원하여 다차원 배열에서도 이를 직관적으로 사용할 수 있음

arr = np.array([1, 2, 3, 4, 5])
print(arr[1:4])  # 2, 3, 4 출력
#다차원 배열에서는 콤마를 이용해 각 차원의 인덱스를 지정할 수 있음

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(arr[0, 1])  # 첫 번째 행, 두 번째 열의 값인 2 출력

 

728x90

관련글 더보기