STUDY/AI Modeling

[Python]Numpy 넘파이 라이브러리 & 2차원 그래프 그려보기

옐옐루 2024. 9. 4. 15:44

파이썬으로 벡터 처리 하는 방법

In  : [1+2] + [3+4]
Out : [1,2,3,4]

> 예상과는 다른 결과를 보여줌. list 형을 더하면 str 형과 동일하게 ‘+연산자’로 해석되어 연결이 됨.

 

넘파이의 이용

파이썬으로 벡터나 행렬을 나타내려면 Numpy 라는 라이브러리 통해 기능을 확장

* numpy : 행렬이나 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬 라이브러리

import numpy as np 
# import로 간단히 가져올 수 있음 
# as np 부분은 넘파이를 np로 생략해서 사용한다는 의미. 편한대로 넣으면 됨 

 

 

벡터의 정의

벡터는 몇 가지 숫자를 나란히 나타낸 것

#벡터(1차원 배열)은 np.array(list형)으로 정의 
In  : x = np.array([1,2,3])
      x
      
Out : array([1,2,3]) 
In   : print(x)
Out  : [1 2 3] 

* 참고로 np.array 형이 아니라 list 형을 print 로 출력하면 요소간의 ‘,’가 남음

 

연속된 정수 벡터의 생성

In  : print(np.arange(10))
Out : [0 1 2 3 4 5 6 7 8 9]
  • np.arange(n)으로 요소의 값이 1씩 증가하는 벡터 배열 만들 수 있음.

 

요소가 랜덤인 행렬 생성

In  : np.random.rand(2,3)
  • np.random.rand(size) 를 사요하여 랜덤인 행렬을 생성할 수 있음

 

2차원 그래프 그려보기

jupyter computer 로 실행한 결과

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline 

np.random.seed(1) #난수를 고정
x = np.arange(10)
y = np.random.rand(10)

# 그래프로 표시
plt.plot(x,y) 
plt.show()
  1. 그래프를 그리기 위해 mataplotlib의 pyplot 라이브러리 import
  2. 주피터 노트북에서 그래프를 표시하기 위해 %matplotlib inline 명령 추가
  3. np.random.seed(1) — 난수를 예측 가능하게 만드는 것. (size) 자리에는 어떤 숫자를 넣던 상관 없음. 특정 랜덤한 값의 key라고 생각하면 됨
  4. x = np.arange(10) — x변수에 0부터 9까지 요소의 값이 1씩 증가하는 벡터 배열을 할당.
  5. y = np.random.rand(10) — y변수에 요소가 랜덤인 행렬을 생성
  6. plt.plot(x,y)로 그래프가 등록. plt.show()를 통해 그려지게 됨.

 

 

반응형