프로그래밍

[Python] NumPy Library 활용(1)

RainIron 2021. 5. 4. 17:17
반응형

1. NumPy 설치

# Linux(Ubuntu)
sudo apt-get install python-numpy

# Windows(Anaconda)
conda install numpy

2. Ndarray 활용: ndim, size, shape

import numpy as np

a = np.array([1, 2, 3]) # array([1, 2, 3])
type(a) # <type 'numpy.ndarray'>

# build-in method
a.ndim # 1, array의 차원
a.size # 3, array length
a.shape # (3, ), array shape

3. Array 관련 함수

* np.zeros(): 0행렬

* np.ones(): 1행렬

* np.arange(x, y)}: x 이상 y 미만

* np.reshape(x, y): x 행 y 열

* np.linspace(x, y, z): x 이상 y 미만 z 등분

* np.random.random(x): x개 (0 이상 1 미만 실수) 랜덤 행렬

c = np.zeros((3, 3)) 
'''
array([[0., 0., 0.],
	   [0., 0., 0.],
       [0., 0., 0.]])
'''

d = np.ones((3, 3)) 
'''
	array([[1., 1., 1.],
		   [1., 1., 1.],
           [1., 1., 1.]])
'''

e = np.arange(0, 10).reshape(5, 2) 
'''
	array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
	ㅣ
	array([[0, 1],
           [2, 3],
           [4, 5],
           [6, 7],
           [8, 9]])
'''

f = np.linspace(0, 10, 5)
'''
	array([ 0. , 2.5, 5. , 7.5, 10. ])
'''    

g = np.random.random(3)
'''
	array([0.9496348 , 0.08998694, 0.50332295])
'''

g = np.random.random((3, 3)) 

4. Array 연산

1) +, -, *, / 등의 연산이 일괄적으로 적용된다. 기본적인 연산이므로 --생략--

2) max(), min(), mean(), std() 등 Aggregate 함수도 --생략--

5. Matrix Product

* np.dot(x, y)

* x.dot(y)

A = np.arange(0, 9).reshape(3, 3)
B = np.ones((3, 3)) # 주의사항: (3, 3) 행렬을 만들 경우, 괄호를 안 빼먹는 것을 주의하자

matrix_product1 = np.dot(A, B)
'''
array([[ 3.,  3.,  3.],
       [12., 12., 12.],
       [21., 21., 21.]])
'''
matrix_product2 = A.dot(B)
'''
array([[ 3.,  3.,  3.],
       [12., 12., 12.],
       [21., 21., 21.]])
'''

 

6. Indexing, Slicing, Iterating

익숙하지 않거나 어색한 내용만 필기하고 있다:) 보시는 분들은 감안해서 봐주세요!

h = np.arange(10)
'''
	array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
'''

# 시작:종료:간격(시작항은 포함)

print(h[::2])
'''
	[0 2 4 6 8]
'''

print(h[:5:])
'''
	[0 1 2 3 4]
'''

h = np.arnage(3, 12).reshape(3, 3)
'''
array([[ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11]])
'''

print(h[[0, 2], :])
'''
	[[ 3  4  5]
 	 [ 9 10 11]]
'''

 

반응형

'프로그래밍' 카테고리의 다른 글

[Python] Data Manipulation  (0) 2021.05.07
[Python] Pandas Library(Series)(2)  (0) 2021.05.06
[Python] Pandas Library 활용(DataFrame)  (0) 2021.05.06
[Python] Pandas Library 활용(Series)(1)  (0) 2021.05.05
[Python] NumPy Library 활용(2)  (0) 2021.05.05