0. νκ²½ μ€μ
λ¨Όμ , νμ©μ μν΄μ μΈν
μ μλμ κ°μ΄ ν΄μ£Όμ.
import numpy as np
import matplotlib.pyplot as plt
1. μ«μ μ°μ°
narr = np.array([[1,2],[3,4]])
print(narr + 2) // λ°°μ΄μ 2μ© λν΄μ§λ€.
print(narr * 2) // λ°°μ΄μ 2μ© κ³±ν΄μ§λ€.
print(narr / 2) // λ°°μ΄μ 2μ© λλ μ§λ€.
2. μνμ°μ°
numpyλ μ¬μΉμ°μ° μΈμλ μ¬λ¬ μν ν¨μλ₯Ό λ°°μ΄ μ 체μ λν΄ μ¬μ©ν μ μλλ‘, μλμ κ°μ ν¨μλ₯Ό μ§μνλ€.
- np.log : λ‘κ·Έ μ°μ°
- np.exp : μ§μ μ°μ°
- np.sqrt : λ£¨νΈ μ°μ°
|
μμ λ₯Ό ν΅ν΄μ, μμ보μ.
# 0 ~ 2π μ¬μ΄μ 100κ°μ κ°μ μμ±
arr = np.linspace(0.1,1,10)
# sin graph μμ±
plt.plot( np.log( arr ), label = 'log' )
plt.plot( np.exp( arr ), label = 'exp')
plt.plot( np.sqrt(arr ), label = 'sqrt')
plt.legend()
plt.show()
linspace( ) ν¨μλ νμ΄μ¬ numpy λͺ¨λμ ν¬ν¨λ ν¨μλ‘ 1μ°¨μ λ°°μ΄, κ·Έλν 그리기μμ μνμΆμ κ°κ²© λ§λ€κΈ° λ±μ λ§€μ° νΈλ¦¬νκ² μ¬μ©ν μ μλ ν¨μμ΄λ€. ν΄λΉ ν¨μλ linspace(start, stop, num)νμμΌλ‘ μ¬μ©λλ€.
μΌκ°ν¨μλ μ΄λ€ μ£ΌκΈ°μ±μ κ°μ§ λ°μ΄ν°λ₯Ό νννλ λ°©λ²μΌλ‘ λ리 μ¬μ©λλ€. μΌκ° ν¨μλ cos, sin, tan λ‘ μ΄λ€μ§λ€.
μ΄λ μ
λ ₯κ°μ μΌλ°μ μΈ 360λ μμΉκ° μλλΌ νμ΄(π = 3.14... ) λ₯Ό κΈ°μ€μΌλ‘ ννλλ€.
μ΄λ np.pi λΌλ λΌμ΄λΈλ¬λ¦¬ λ΄μ₯ μμλ₯Ό μ΄μ©ν΄μ ννμ΄ κ°λ₯νλ€.
- np.sin : μ¬μΈ μ°μ°
- np.cos : μ½μ¬μΈ μ°μ°
- np.tan : νμ νΈ μ°μ°
|
μμ μ½λ)
# 0 ~ 2π μ¬μ΄μ 100κ°μ κ°μ μμ±
arr = np.linspace(0,np.pi * 2,100)
# sin graph μμ±
plt.title("sin cos")
plt.plot( np.sin( arr ), label = 'sin' )
plt.plot( np.cos( arr ), label = 'cos')
plt.legend()
plt.show()
print()
plt.title("tan")
plt.plot( np.tan( arr ) )
plt.show()
λ¬Έμ 1. sinμ μ΄μ©νμ¬ μλ κ·Έλνλ₯Ό 그리λ λ°©λ²μ μκ°ν΄λ΄λΌ.
μ λ΅)
λ보기
arr = np.linspace(0,np.pi*4,100)
plt.plot(np.sin(arr))
plt.plot(np.sin(arr)*-1)
plt.show()
3. 쑰건μ°μ°
λ°°μ΄μ λ¨μΌ κ°κ³Ό λΉκ΅μ, κ°κ°μ κ°μ λν λΉκ΅ κ²°κ³Όλ₯Ό True μ False ννλ‘ λ¦¬ν΄νλ€.
narr = np.array([1,2,3,4,5])
print( narr > 2 )
narr = np.array([[1,2],[3,4]])
print( narr % 2 == 0 )
4. λ°°μ΄μ°μ°
Numpyλ λ°°μ΄λΌλ¦¬μ μ°μ°μ μ§μνλ€.
κ·μΉμ 볡μ‘νμ§λ§, μ¬μ©νλ λ°©λ²μ μ΅νλ©΄ μλΉν 볡μ‘ν κΈ°λ₯λ λ°°μ΄λΌλ¦¬μ μ°μ°μΌλ‘ κ°λ¨ν ꡬνν μ μλ€.
na1 = np.array( [[1,2],[3,4]] ) # shape : (2,2)
na2 = np.array( [[1,2]] ) # shape : (1,2)
na3 = np.array( [[1],[2]]) # shape : (2,1)
print( na1 + na2 )
print( na1 + na3 )
Numpy μ λ°°μ΄λΌλ¦¬μ μ°μ°μ κ°μ λμΌ μ°¨μ(xμΆ, yμΆλ±.. ) κΈΈμ΄κ° κ°κ±°λ λλ νμͺ½μ΄ 1μΌλ νμ©λλ€.
λ¨ μ°¨μμ ν¬κΈ°λ€ λ€λ₯Όλλ μμ μ°¨μμ 1λ‘ κ°μ£Όλλ€.
μλμλ μλ‘ μ°μ°μ΄ κ°λ₯ν μμμ΄λ€.
(2,2) + (2,)
(2,2) + (1,2)
(2,2) + (2,1)
(3,1) + (1,2)
(1,2,3) + (1,2,1)
(1,2,3) + (1,1,3)
(1,2,3) + (1,2,3)
(1,2,3) + (2,3)
(1,2,3) + (1,3)
(1,2,3) + (3,)
3μ°¨μ μ΄μμ λ°°μ΄μμλ μ ν¨νλ€.
μλλ κ·Έμ λ°λ₯Έ μμ΄λ€.
(4,3,2) + (3,1) = (4,3,2) + (1,3,1)
full( )μ λ°°μ΄μ μ¬μ©μκ° μ§μ ν κ°μ λ£λλ° μ¬μ©νλ€.
na1 = np.full((4,3,2),2)
na2 = np.full((1,2),2)
print( na1 + na2 )
νΉν (n,1) κ³Ό (1,m) κ°μ΄ μλ‘ 1 λ n μ μκ°λ € μ°μ°ν κ²½μ° n x m μ νλ ¬μ΄ μμ±λλ€.
x1,x2 = np.array([0,1,2]), np.array([[1],[2],[3],[4]])
print(x1)
print(x2)
print(x1 + x2)
λ¬Έμ 2. 99λ¨ νλ ¬ λ§λ€κΈ°
arrageμ νλ ¬ μ°μ°μ μ΄μ©ν΄ μλμ κ°μ, 99λ¨ νλ ¬μ λ§λμμ€.
μ λ΅)
x,y=np.arange(1,10), np.arange(2,10)
print(x*y.reshape(8,1))
λ¬Έμ 3. ( n, ) λ κ°λ₯Ό ( n,2 )λ‘ ν©μΉκΈ°
κ°μ nμ κΈΈμ΄λ₯Ό κ°λ λκ°μ 1μ°¨μ λ°°μ΄μ΄ μλ€κ³ κ°μ ν΄λ³΄μ.
λ λ°°μ΄μ κ°κ°μ μ΄λ‘ κ°λ ( n,2 ) ννμ λ°°μ΄μ λ°°μ΄ μ°μ°μ μ΄μ©ν΄ λ§λ€μ΄λ³΄μ.
μ λ΅)
arr1 = np.array([1,2,3,4,5,6]).reshape(6,1)
arr2 = np.array([0,10,20,30,40,50]).reshape(6,1)
arr3 = arr1*np.array([1,0])
arr4 = arr2*np.array([0,1])
print(arr3+arr4)
λ¬Έμ 4. μ»¬λ¬ κ·ΈλΌλ°μ΄μ
λ°°μ΄
np.linspaceλ₯Ό μ¬μ©ν΄μ μλμ κ°μ΄, (100,100,3) μ΄λ―Έμ§λ₯Ό κ°λ λ°°μ΄μ μμ±ν΄λ³΄μ.
μ λ΅)
narr = np.full((100,100,3),[0,0,0])
x = np.linspace(0,255,100).astype('int')
plt.imshow(narr+x.reshape(100,1,1)*[1,0,0])
λ¬Έμ 5. sin κ·Έλνμ 2μ°¨μν
λ€μ 0λΆν° np.piκΉμ§μ sin곑μ κ³Ό κ°μ λΉμ¨λ‘ λ°κΈ°κ° λ³ννλ (100,100)μ 2μ°¨μ νλ°±μ΄λ―Έμ§λ₯Ό μμ±ν΄λ³΄μ.
μλλ κΈ°λ³ΈμΌλ‘, μ£Όμ΄μ§ νμμ΄λ€.
# 100κ°μ μ μΌλ‘ μ΄λ€μ§ 1μ°¨μ sin 곑μ
x = np.sin(np.linspace(0,np.pi,100))
plt.plot(x)
plt.show()
μ λ΅)
x = np.sin(np.linspace(0,np.pi,100))
plt.plot(x)
plt.show()
y = x.reshape(100,1)
plt.imshow(x*y, cmap = 'gray')