[numpy] 정리(1)

rkqhwkrn·2022년 12월 15일
0

Python

목록 보기
1/13

numpy 시작하기

numpy란?

Numerical python으로 c언어를 기반으로 한 고성능 벡터 형태 수치 계산을 위한 파이썬 라이브러리이다.
Python list와 비슷한 형태이지만 numpy는 한 종류 데이터만을 담을 수 있다! 또한 각종 벡터 연산을 제공하며 메모리 버퍼에 배열 데이터를 저장 및 처리하여 매우 효율적인 구조를 가진다.

numpy의 특징

  • N차원의 배열 객체를 지원하여 범용적으로 데이터 처리
  • Broad cast 기능 지원
  • 선형대수학, 난수기능 지원

numpy 배열 구성

shape: numpy 배열의 구조

import numpy as np  
narr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(narr)
print(narr.shape)

실행결과

  • 다차원의 배열의 각 방향을 axis라고 한다.
  • narr에서 axis=0의 값: 3 / axis=1의 값: 4
  • axis별로 sum을 수행할 수 있다.
print('axis=0 :',narr.sum(axis=0)
print('axis=1 :',narr.sum(axis=1)
print('default:',narr.sum())  

실행결과

ndim: numpy 배열의 차원

narr = np.array([1,2,3,4])
print(narr.ndim)
print(narr.shape)
print(narr.sum(axis=0))

실행결과

narr = np.array([[1,2,3,4]])  
print(narr.ndim)
print(narr.shape)
print(narr.sum(axis=0))
print(narr.sum(axis=1))

실행결과

numpy 배열 생성

python list로 배열 생성

arr = [1,2,3,4]
narr = np.array(arr)
print(narr)
print('shape: ',narr.shape)
print('dim: ',narr.ndim)  

실행결과

arr = [[4,3],[8,5]]]
narr = np.array(arr)
print(narr)
print('shape: ',narr.shape)
print('dim: ',narr.ndim)  

실행결과

arr = np.array([[[4,3],[8,5]],[[2,6],[1,10]]])  
print(narr)
print('shape: ',narr.shape)
print('dim: ',narr.ndim)

실행결과

초기화 및 배열 생성

np.zeros(shape, dtype=float, order='c')

  • 지정된 shape의 배열 생성 후 0으로 초기화
np.zeros(5)  
np.zeros((3,4,3))  

실행결과

np.ones(shape, dtype=None, order='c')

  • 지정된 shape의 배열 생성 후 1로 초기화
np.ones((2,4,2))  

실행결과

np.full(shape, fill_value, dtype=None)

  • 지정된 shape의 배열 생성 후 fill_value로 초기화
np.full(shape=(3,2,3), fill_value=3)  

실행결과

np.eype(N,M=None,k=0,dtype)

  • (N,N)을 shape으로 하는 Unit matrix 생성
  • k는 정방단위행렬을 기준으로 어느 부분에 대각 행렬을 넣을지 결정
np.eye(5, dtype=int)  
np.eye(5, k=2, dtype=int)  
np.eye(5, k=-2, dtype=int)  

실행결과

like 함수

  • 지정된 배열과 shape이 같은 배열 생성
  • np.zeros_like
  • np.ones_like
  • np.full_like

실행결과

np.linspace(start,stop,num=50,endpoint=True,retstep=False,dtype=None)

  • start로부터 stop범위에서 num개의 요소를 균일한 간격으로 생성한 배열
np.linspace(0,1,5)  

실행결과

np.arange(start,stop,step,dtype=None)

  • start로부터 stop미만까지 step간격으로 데이터를 생성한 배열
  • start와 step이 지정되지 않으면 0부터 stop미만까지 1씩 증가하는 데이터를 생성한 배열 생성
np.arange(0,15,3)  
np.arange(5)  

실행결과

0개의 댓글