본문 바로가기
Python

[python-ds-handbook] NumPy

by 룰루셩 2020. 7. 21.

[python-ds-handbook] NumPy

파이썬 데이터 사이언스 핸드북 

Numpy 중 자주 쓰는 것 모음

 

 

NumPy 모듈 불러오기

import numpy as np

 

random으로 배열 만들기

# 재현 가능성을 위한 시드 값
np.random.seed(0)

# 3*3 배열, 0과 1 사이의 난수로 채움
np.random.random((3,3))

# 정규 분포(평균=0, 표준편차=1)의 난수로 채운 3*3 배열
np.random.normal(0,1,(3,3))

#[0,10] 구간의 임의의 정수로 채운 3*3 배열
np.random.randint(0,10,(3,3))

# 3*3 단위 행렬 만들기
np.eye(3, dtype=int)

 

numpy 속성

x3=np.random.randint(10, size=(3,4,5)) # 3차원

print('x3 ndim:', x3.ndim)  # 차원의 개수      3
print('x3 shape:', x3.shape) # 각 차원의 크기  (3,4,5)
print('x3 size:', x3.size) # 전체 배열의 크기   60
print('x3 dtype:', x3.dtype) # 타입            int64

 

배열 슬라이싱

x=np.arange(10)    # array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

# 하나 걸러 하나씩의 요소로 구성된 배열  
x[::2]     # array([0, 2, 4, 6, 8])

# 인덱스 1부터 시작해 하나 걸러 하나씩 요소로 구성된 배열
x[1::2]    # array([1, 3, 5, 7, 9])

## 모든 요소를 거꾸로 나열
x[::-1]    # array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])

# 인덱스 5부터 하나 걸러 하나씩 요소를 거꾸로 나열
x[5::-2]   # array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0])

# x2
# 값 수정
x2[0,0]=12

# array([[12,  5,  2,  4],
#       [ 7,  6,  8,  8],
#       [ 1,  6,  7,  7]])

# 두 개의 행, 세 개의 열
x2[:2,:3]         # array([[12,  5,  2],
       			  #       [ 7,  6,  8]])
                  
# 모든 행, 한 열 걸러 하나씩
x2[:3, ::2]       # array([[12,  2],
      			  #		   [ 7,  8],
      			  #		   [ 1,  7]])           
                  
# 역으로 변환
x2[::-1, ::-1]    # array([[ 7,  7,  6,  1],
       			  #		   [ 8,  8,  6,  7],
      			  # 	   [ 4,  2,  5, 12]])              
         
# 첫번째 열
x2[:,0]           # array([12,  7,  1])


# 첫번째 행
x2[0,:]           # array([12,  5,  2,  4])
print(x2[0])      # 같은 결과

 

배열 연결

np.concatenate, np.vstack, np.hstack

 

'Python' 카테고리의 다른 글

reshape  (0) 2020.08.08
아나콘다 가상환경 만들기  (0) 2020.07.13

댓글