본문 바로가기

프로그래밍 언어/Python

[Python] Numpy 넘파이 개념

반응형

Numpy

-  다차원 배열을 처리할 수 있는 선형대수학 라이브러리.

(만약 실행이 안될경우 아나콘다 프롬프트에서 conda install numpy를 실행하여 설치한다. 

 

- 왜 배우는가?

고객 데이터 정리(ex : 이메일, 비번, 성별, 주소, 월결제금액, 가입날짜등등)

 

- 행과 열이 있다. 그것이 데이터이며, 데이터는 행, 컬럼은 속성이다.

 

1차원 -> 리스트

2차원 배열 = 행렬(행:row, 열: column) 

3차원 배열 -> 이미지 (R,G,B)

 

shape -> 모양, 

1차원 shape: 튜플, 튜플은 데이터 하나만 쓰면 안되니까, 숫자 하나 쓰고 콤마 씀 ex) (4,)

2차원: shape: 행부터, 그다음에 열 (2,3) -> 2행, 3열

 

# 1차원 배열은 = 벡터(Vector),라고도 불리운다.

# 2차원 배열 = 행렬(Matrix)

import numpy as np

- import의 형식으로 numpy의 모듈을 불러온다는 뜻

- as는 묘듈의 이름이 너무 기니, 앞으로는 as 뒤의 이름으로 부르겠다는 뜻.

 

1차원

리스트를, 넘파이의 1차원 배열로 만드는 방법

-  리스트를 감싸고 있다. 

-  array라고 시작되어있는 것을 보면 무조건 Numpy라고 대답해야한다. 정체가 넘파이. 

 

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

a 는 리스트, b는 넘파이

 

- 평균 구할때

sum(a)/len(a)
b.mean()

 

- 데이터의 갯수 구할 때, 리스트와 넘파이의 차이

len(a)
len(b)
b.size

리스트는 size의 속성이 없다. 

 

- 데이터의 모양을 확인하는 방법, 리스트와 넘파이의 차이

a.shape
b.shape

 

- 저장하고 있는 데이터의 타입을 확인하는 방법, 리스트와 넘파이의 차이

type(a[0])
b.dtype

b.dtype의 결과값 -> dtype(‘int32’)

숫자 32는, 내 컴에서 숫자를 저장할 떄 32비트로 저장한다는 뜻.

 

많이 쓰이는 넘파이 속성/함수

b.size
b.dtype
b.shape
b.mean()
b.max()
b.min()

 

2차원: 행렬

- 행렬의 변수명은 대부분 대문자로 사용한다. 대문자로된 변수를 보면 행렬이라고 판단해도 무방할듯.

 

- 아래는 리스트로 만든 2차원

C = [[1,2],[3,4]]

 

- 넘파이의 2차원 배열을 만드는 방법

(결과값이 행과 열을 맞춰서 보여준다. )

 

사용 속성/함수는 기본적으로 같다.

 

반응형