Adventure Time - Finn 3
본문 바로가기
AI/파이썬

numpy(1)

by hyun9_9 2026. 4. 3.

[공식] (https://numpy.org/)

numpy: 수치적 연산을 위해 최적화된 모듈

파이썬을 활용한 데이터 분석에서 가장기본

이 자체로도 많이 사용되고 앞으로 배울 pandas머신러닝 등 수많은 분야에서 기본적으로 사용하는 모듈

파이썬 개발자라면 꼭 익힐 필요 있다

 

수학수치 연산 / 합, 평균, 행렬 연산등..

추가적으로 scipy, statsmodel 같은 것들도 numpy 기반으로 구현됨.

상황에 따라 pandas 안써도 numpy 만으로도 가능.

 

기본타입: ndarray (n-dimensional array) 다차원 배열 표현

 

파이썬에 list가 있는데 굳이 사용하는 이유

1. 성능 : 성능적으로 훨~씬 빠르다

2. 메모리 :  훨씬 적은 메모리 사용

3. 제공함수 품부 : 선형대수, 통계관련 여러 수치함수 제공

4. 수많은 모듈에서 numpy 함수명과 기능을 그대로 사용

 

임포트

import numpy as np

 

Scalar : 0차원 array (단일값) 

Vector :  1차원 array

Matrix : 2차원 array

Tensor : 3차원(이상) array

 

주의 : list는 원소 타입이 각각 다를 수 있다!

그러나 numpy array의 모든 원소는 '한가지 타입' 으로만 정의 된다!

 

스칼라

np.array(10)

# array(10)

 

벡터

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

# array([1, 2, 3, 4, 5])

 

메트릭

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

# array([[1,2,3],[4,5,6]])

 

텐서 (그이상 )..

 

Shape

numpy에서 해당 array의 크기를 알수있다.

shape를 확인함으로써 몇개의 데이터가 있는지 몇차원으로 존재하는지 등을 확인할 수있다.

arr1.shape
# (5,) <- 숫자의 개수는 차원

arr2.shape
# (2, 3)

ndim 차원수

# 몇 차원 데이터인지?
# ndim 과 len(arr.shape) 은 같다! 

arr1.ndim
# 1

arr2.ndim
# 2

 

size: 데이터 개수

arr1.size

# 5

arr2.size

# 6

 

 

dtype : data type

arr1.dtype

# # dtype('int64')  정수 64bit (8byte)

 

# numpy에서 사용되는 자료형은 아래와 같다. (자료형 뒤에 붙는 숫자는 몇 비트 크기인지를 의미한다.)

# 부호가 있는 정수 int(8, 16, 32, 64)
# 부호가 없는 정수 uint(8 ,16, 32, 64)
# 실수 float(16, 32, 64, 128)
# 복소수 complex(64, 128, 256)
# 불리언 bool
# 문자열 string_
# 파이썬 오프젝트 object
# 유니코드 unicode_

 

 

np.arange()

- array 생성

- range()와 사용법 유사

# 0부터 10 전까지 [0,10]
np.arange(10)

# 1부터 10 전까지 
np.arange(1,10)

# 1부터 10 전까지 2스텝 씩
np.arange(1,10,2)

# 10부터 0 전까지 -1
np.arange(10,0,-1)

# 1부터 10 전까지 데이터 타입 int 16
np.arange(1,10,dtype=np.int16)

 

astype : 타입 변환 반환

d = np.arange(3, 10)
d   # dtype=int64 타입

d.astype(np.float64)
# array([3., 4., 5., 6., 7., 8., 9.])

# 원본은 변화 없다
d
# array([3, 4, 5, 6, 7, 8, 9])

* 반환 값이 있을땐 원본 변화 x , 반환값이 없을떄 원본 변화 o

 

reshape()

ndarray의 형태, 차원을 바꾸기 위해 사용

머신러닝, 데이터 프로세싱에서 매우 자주 사용됨, (차원 변환)

# (12,) -> (2, 6)
np.arange(12).reshape(2, 6)

# array([[ 0,  1,  2,  3,  4,  5],
#		[ 6,  7,  8,  9, 10, 11]])
# size 안 맞으면 에러!

# np.arange(12).reshape(2, 4)

 

 

 

 

 

 

'AI > 파이썬' 카테고리의 다른 글

pandas - Series  (0) 2026.04.09
numpy - Boolean Indexing  (0) 2026.04.08
numpy - axis (차원축)  (0) 2026.04.07
numpy - shape (차원) 변경하기  (0) 2026.04.06
numpy(2)  (0) 2026.04.05