Maron's DATA Log

[Python] NumPy 본문

Python

[Python] NumPy

maron2ee 2020. 12. 2. 17:07

# NumPy (Numerical Python)

: 데이터 분석을 포함해 수학/과학 연산을 위해 vector 와 matrix 를 핸들링하는 파이썬 기본 패키지

 

numpy 모듈의 호출

import numpy as np

 

 

# ndarray (Numpy Dimensional Arrary)

: N-차원 (N-Dimension) 배열 객체를 지원

ndarray 의 타입은 숫자, 문자, boolean 값 모두 가능하지만,

* ndarray 내의 데이터 타임은 모두 같은 타입이어야 (리스트와 가장 큰 차이점)

 

 

# np.arrray( )

: 리스트, 튜플, 배열로부터 ndarray를 생성

index 항상 0으로 시작

 

 

# array 생성

 

test_arrary = np.array([1, 4, 5, "8", float)     # str 타입의 데이터를 입력해도 float 타입으로 자동 형변환

print(test_arrary)

print(type(test_arrary[3])     # float type 으로 자동 형변환을 실시

print(test_arrary.dtype)     # dtype : numpy array 의 데이터 type 을 반환

print(test_arrary.shape)     # shape : numpy arrary 의 object 의 dimension 구성을 반환

 

 

# arrary shape

: array - vector, matrix, tensor 의 크기, 형태 등에 대한 정보

 

# ndim (number of dimension) : 구성 차원 수

# size : 데이터의 총 개수

# dtype : ndarray 의 single element 가 가지는 data type (메모리의 크기가 결정됨)

 

 

# reshape

: array 의 shape 의 크기를 변경함 (element 갯수는 동일) 

array 의 size 만 같다면 다차원으로 자유로이 변형 가능

* -1 : size 를 기반으로 row 개수 선정

 

test_matrix = [[1, 2, 3, 4], [1, 2, 5, 8]]

np.array(test_matrix).shape

 

np.array(test_matrix).reshape(8,)

np.array(test_matrix).reshape(2, 4).shape

np.array(test_matrix).reshape(-1, 2).shape

np.array(test_matrix).reshape(2, 2, 2)

 

 

# flatten

: 다차원 array 를 1차원 array 로 변환

(2, 2, 4)    →    (16,) 

 

np.array(test_matrix).flatten( )

 

 

# indexing

: 리스트와 달리 이차원 배열에서 [0,0]과 같은 표기법을 제공

matrix 일 경우 앞은 row, 뒤는 column 을 의미

 

a = np.array([1, 2, 3], [4, 5, 6]], int)

print(a)

print(a[0,0])

print(a[0][0])

 

# matrix 0, 0 에 할당

a[0,0] = 7

print(a)

a[0][0] = 8

print(a)

 

 

 

 

# slicing

: 리스트와 달리 행과 열 부분을 나눠서 슬라이싱 가능

matrix 의 부분 집합을 추출할 때 유용

 

a = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]], int)

a[:, 2:]     # Row - 전체, column - 2열 이상

a[1, 1:3]     # 1 Row 의 1열 ~ 2열

a[1:3]     # 1 Row ~ 2 Row 의 전체

  0 1 2 3 4
0 1 2 3 4 5
1 6 7 8 9 10

 

b = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]], int)

b[:,::2]

b[::2,::3]

 

'Python' 카테고리의 다른 글

[Python] Pandas  (0) 2020.12.04
[Python] 모듈, 패키지, 내장함수, 외장함수  (0) 2020.12.01
[Python] 예외처리 - Try / Except / Finally  (0) 2020.12.01
[Python] 클래스 / 메소드 (Method) / 상속  (0) 2020.12.01
[Python] 입출력  (0) 2020.11.30
Comments