본문 바로가기
코인정보

[Python] Numpy 쉬운 개념, 쉬운 실습

by 챗토닥 2023. 10. 16.
반응형

Numpy 기본 개념

 Numpy는 Numerical Python의 줄임말로, 벡터와 행렬 연산을 쉽게 할 수 있는 파이썬 라이브러리입니다.

이 라이브러리는 C언어로 구현되어 있어서 고성능의 수치 계산을 지원합니다.

Numpy는 데이터 분석에 자주 사용되는 pandas와 matplotlib의 기반이기도 합니다.

 

 Numpy에서 데이터는 기본적으로 array라는 단위로 관리됩니다.

이를 사용하여 다양한 연산을 수행할 수 있습니다. array는 행렬과 비슷한 개념으로 생각할 수 있습니다.

 

 Numpy를 사용하기 위해서는 다음과 같은 코드로 numpy를 import 해야 합니다.

#Numpy 사용
import numpy as np

 

Numpy 실습

 Numpy 라이브러리를 활용한 실습을 알아보겠습니다.

a=np.array([1,2,3,4,5])
b=np.array(['고양이', '강아지'])
c=np.array([1,2,'고양이','강아지'])

print (a)
print (b)
print (c)

#[1 2 3 4 5]
#['고양이' '강아지']
#['1' '2' '고양이' '강아지']

 숫자형 데이터로만 구성된 ndarray는 숫자로만 표기되어 출력되고, 숫자와 문자열을 혼합 사용 시, 모든 내용을 문자열['']로 인식하여 출력합니다.

 

 다음으로 기본적인 행렬 연산을 해보겠습니다.

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

print (d)
print (e)
print (d*e)

#[[ 1  2  3  4  5]
# [ 6  7  8  9 10]]

#[[ 1  3  5  7  9]
# [ 2  4  6  8 10]]

#[[  1   6  15  28  45]
# [ 12  28  48  72 100]]

 행렬의 자릿수가 element-wise 하게 연산을 하는 것을 알 수 있습니다.

덧셈이나 뺄셈, 나눗셈도 마찬가지 방식으로 연산을 수행합니다. 이때 각각의 array는 같은 크기를 가져야 합니다. 

 

 다음으로 Numpy 라이브러리를 활용한 다양한 함수입니다.

# 0인 요소를 5열 만든다.
f=np.zeros(5)
print(f)

# 0인 요소를 2행 2열 만든다.
g=np.zeros((2,2))
print(g)

# 1인 요소를 5열 만든다.
h=np.ones(5)
print(h)

# 0부터 인자 미만까지 증가시킨다.
i=np.arange(5)
print(i)

# 첫번째 인자부터, 두번재 인자 미만까지 증가시킨다.
i=np.arange(2,5)
print(i)

# 첫번째 인자부터, 두번째 인자 미만까지 세번째 인자 간격만큼 증가시킨다.
j=np.arange(2,5,0.5)
print(j)


#[0. 0. 0. 0. 0.]

#[[0. 0.]
# [0. 0.]]

#[1. 1. 1. 1. 1.]

#[0 1 2 3 4]

#[2 3 4]

#[2 2.5 3 3.5 4 4.5]

 원하는 요소를 인덱싱할 수 있습니다. 아래는 그 예시입니다.

b=np.array(['고양이', '강아지'])
print(b[0])

#고양이

 다음은 2차원 행렬의 인덱싱 실습입니다.

#2행 5열의 배열 d 생성
d=np.array([[1,2,3,4,5],[6,7,8,9,10]])

print(d[0,0]) 
#1행 1열의 값 출력 : 1

print(d[1,1]) 
#2행 2열의 값 출력 : 7

print(d[1,:]) 
#2행 모든 값 출력 : [6 7 8 9 10]

print(d[:]) 
#모든 값 출력 : [[1 2 3 4 5]
#                [6 7 8 9 10]]

print(d[:,3])
#모든 행의 4번째 열 값 출력 : [4 9]

 다음은 Pandas에 대해 알아보도록 하겠습니다.

반응형