본문 바로가기
self.python

[Numpy] Numpy 기초 - 기본적인 배열 다루기

by 톤토니 2022. 5. 10.
반응형

 

Numpy : Numeric + Python 의 약자로 수학 및 과학 연산 라이브러리

 

 

 

Numpy는 배열이나 행렬 계산에 필요한 함수를 제공해 준다.

비정형 데이터 처리나 자연어 처리에 배열(Array)이 사용되는데 그 때 필수적인 라이브러리이다.

 

import numpy as np #Numpy 사용하기 위해 import 하기
# 일반적으로 np 로 사용

 

1. 리스트 데이터를 배열로 만들기

 

np.array() 를 사용하여 리스트 데이터를 1차원 배열로 만들 수 있다.

 

dataList = [1, 2, 3, 4, 5, 6, 7]
dataArr = np.array(dataList)
dataArr

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

 

 

- 배열의 데이터 타입 확인해보기

 

배열.dtype 으로 배열 내의 데이터 타입을 확인해볼 수 있다.

dataArr.dtype

# dtype('int64')

 

- 배열의 shape 확인해보기

 

배열.shape 로 확인해볼 수 있다. i 개의 요소를 갖는 1차원 배열의 shape은 (i, ) 으로 표시된다.

dataArr.shape
#(7,)

 

 

2. 범위를 지정하여 배열 생성하기

 

np.arange(시작, 끝, 간격)

arange를 사용하면 시작부터 끝 전 까지(끝 포함 안함) 간격만큼 계속 더해진 데이터를 가진 배열을 만들어준다.

np.arrange(5)
# array([0, 1, 2, 3, 4])

np.arrange(1, 10, 1)
# array([1, 2, 3, 4, 5, 6, 7, 8, 9])

 

np.linspace(시작, 끝, 원하는 데이터의 개수)

linspace를 사용하면 시작부터 끝까지 원하는 갯수만큼 동일 간격의 데이터를 가진 배열을 만들어준다.

np.linspace(1, 10, 10)
# array([ 1.,  2.,  3.,  4.,  5.,  6.,  7.,  8.,  9., 10.])

np.linspace(0, 99, 10)
# array([ 0., 11., 22., 33., 44., 55., 66., 77., 88., 99.])

 

 

3. 난수 데이터를 가진 배열 생성

 

np.random.을 사용하여 랜덤으로 데이터를 설정할 수 있다.

np.random.rand(size) 는 실수 난수를 생성하고,

np.random.randint() 는 정수 난수를 생성한다.

np.random.rand(3, 3) # 3 X 3 의 2차원 배열의 실수 난수 생성

'''
array([[0.27924411, 0.80766723, 0.75622451],
       [0.55836519, 0.94380524, 0.07338753],
       [0.28901124, 0.34668097, 0.92421693]])
'''
np.random.rand() # size를 입력하지 않으면 1 을 입력한 것과 같다.
# 0.135260682208716

np.random.randint(100, size = (2, 2)) # 정수 난수 생성

'''
array([[ 4, 65],
       [26, 89]])
'''

 

 

4. 배열 데이터의 타입 변환

배열.astype(type) 을 사용하여 배열 내 데이터의 타입을 변환할 수 있다.

array1 = np.arange(5)
# array([0, 1, 2, 3, 4])

print(array1.dtype)
# int64

array2 = array1.astype(float)
array2.dtype
# dtype('float64')

 

 

 

 

 

 

 

 

 

[참고] Numpy 공식문서 :

https://numpy.org/

반응형

댓글