-
Numpy : 1차원과 2차원 벡터의 생성Let's Code/Python 2019. 9. 30. 14:30
파이썬은 데이터 사이언스, 머신 러닝, 웹 프로그래밍 등 다양한 목적에 맞는 라이브러리Library가 구비된 다목적 언어general purpose language이다. 이 때문에, 그리고 오픈 소스라는 장점 때문에 파이썬은 광범위하게 사용될 수 있다.
파이썬의 라이브러리
- Numpy: 선형대수를 위한 라이브러리
- Matplotlib: 시각화를 위한 라이브러리
- seaborn: Matplotlib 위에 설치할 수 있으며, 시각화 자료를 보기 좋게 다듬을 수 있다
- Statsmodels: 통계를 위한 라이브러리
- Sckit-learn: 머신 러닝을 위한 라이브러리
- Tensorflow: 구글이 제작한 딥러닝을 위한 라이브러리
이 중 우리는 Numpy를 알아보려 한다.
Numpy
import numpy as np
라이브러리를 처음 사용할 때 쓰는 관행어이다.
이 후 쓰는 Method는 np.array처럼 np.** 꼴로 나타난다.
Numpy는 선형대수에 최적화되어 있기 때문에, 주로 벡터를 생성하기 위해 사용한다.
1차원 벡터
a = np.array([1,2,3,4]) print(a) # [1 2 3 4] np.ndim(a) # 1 # 1차원의 벡터라는 뜻 a.shape # (4, ) # 4개의 원소가 (,) 형태로 있다는 것을 알 수 있다. 1차원이기 때문에 , 만 a.shape[0] # 4 x = np.arange(-5.0, 5.0, 0.1) #-5.0에서 5.0 전까지 0.1 간격 배열 생성
np.array ()
:A를 np를 이용하는 [1,2,3,4]의 Array로 정의하자. [ ] 안에 원소를 넣으면 이를 벡터화한다.
np.ndim( )
: 생성된 벡터의 차원을 말해준다. 여기서는 1차원이므로, 1이라는 값이 도출된다.
.shape
(행의 개수, 열의 개수) 형태로 나타난다. 여기서는 4개의 행만 있지 열이 존재하지 않으므로 4 다음에 , 로 이를 나타내고 있다.
.shape[0]
행의 개수만 알고 싶을 때는 슬라이싱 해준다.
np.arange(시작점, 종점, 간격)
x는 시작점, y는 종점, z는 간격을 의미한다. 위 식에서는 -5.0에서 5.0까지 0.1간격의 배열을 생성한다.
x = np.array([1.0, 2.0, 3.0]) y = np.array([2.0, 4.0, 6.0]) print(x + y) print(x - y) print(x * y) print(x / y)
1차원 벡터는 간단하게 연산할 수 있다.
2차원 벡터
B = np.array([[1,2], [3,4], [5,6]]) print(B) # [[1 2] # [3 4] # [5 6]] np.ndim(B) # 2 B.shape # (3, 2)
2차원 벡터는 [ ] 안에 여러 개의 [ ] 가 중첩되어 나타나는 것을 알 수 있다.
np.array( ) 를 통해 2차원 벡터를 생성한다.
np.ndim( ) 를 통해 2차원 벡터임을 알 수 있다.
.shape 를 통해 3x2 형태의 벡터임을 알 수 있다.
a = np.zeros((2,2)) # Create an array of all zeros print(a) b = np.ones((1,2)) # Create an array of all ones print(b) c = np.full((2,2), 7) # Create a constant array print(c) d = np.eye(2) # Create a 2x2 identity matrix print(d) e = np.random.random((2,2)) # Create an array filled with random values print(e)
[[0. 0.]
[0. 0.]]
[[1. 1.]]
[[7 7]
[7 7]]
[[1. 0.]
[0. 1.]]
[[0.42812389 0.87315723]
[0.36732048 0.68926806]]
np.zeros ((x개수, y개수))
2x2 형태의 0으로 구성된 벡터를 생성한다.
np.ones((x개수, y개수))
1x2 형태의 1로 구성된 벡터를 생성한다.
np.full ((x개수, y개수), 구성하는 수)
동일한 원소로 구성된 벡터를 생성한다.
np.eye (x or y 개수)
단위행렬을 생성한다.
np.random.random ((x개수,y개수))
무작위의 수로 구성된 벡터를 생성한다.
다음에는 연산과 재구성을 정리할 계획.
'Let's Code > Python' 카테고리의 다른 글
파이썬 일주일 독학 후 깨달은 점들 (0) 2019.07.03 댓글