본문 바로가기

⏳ 알고리즘/python 알고리즘 개념

숫자, numpy 패키지

책 <파이썬 자료구조와 알고리즘>을 기본으로 배운 자료구조 내용입니다.

 

목차

  • 숫자(정수, 부동소수점, 복소수)

  • 넘파이 패키지(numpy 배열 생성 및 초기화)

 

 

<숫자>

정수

int(문자열, 밑) : 다른 진법으로 변환

 

부동소수점 float 

 

 

부동소수점끼리 비교

1. assertAlmostEqual()이용

2. 부호 비교한후 음수면 부호포함 숫자반전하여 비교

 

복소수 z = 3+4j

실수부 : z.real

허수부 : z.imag

켤레 복소수 : z.conjugate()

 

 

 

<넘파이 패키지>

: 대규모의 다차원 배열·행렬 지원, 배열 연산에 쓰이는 수학 함수 라이브러리 제공

numpy 배열 생성

1차원 배열

arr = [1, 2, 3]

a = np.array([1, 2, 3])

2차원 배열

arr = [(1,2,3), (4,5,6)]

a= np.array(arr, dtype = float)

3차원 배열

arr = np.array([[[1,2,3], [4,5,6]], [[3,2,1], [4,5,6]]])

a= np.array(arr, dtype = float)

shape: (3,)

dimension: 1

shape: (2, 3)

dimension: 2

shape: (2, 2, 3)

dimension: 3

[1 2 3]

[[ 1. 2. 3.]

[ 4. 5. 6.]]

[[[ 1 2 3] [ 4 5 6]]

[[ 3 2 1] [ 4 5 6]]]

 

numpy 배열 생성 및 초기화

np.zeros 함수

지정된 shape의 배열을 생성하고, 모든 요소를 0으로 초기화

np.ones 함수

지정된 shape의 배열을 생성하고, 모든 요소를 1로 초기화

np.full 함수

지정된 shape의 배열을 생성하고, 모든 요소를 지정한 "fill_value"로 초기화

np.eye 함수

(N, N) shape의 단위 행렬(Unit Matrix)을 생성

np.empty 함수

지정된 shape 배열생성/

요소의 초기화 과정이 없고, 기존 메모리값을 그대로 사용

a = np.zeros((3, 4))

a = np.ones((2,3,4)

a = np.full((2,2),7)

※ fill_value = 7

np.eye(4)

a = np.empty((4,2))

shape: (3, 4)

dimension: 2

shape: (2, 3, 4)

dimension: 3

shape: (2, 2)

dimension: 2

 

shape: (4, 2)

dimension: 2

[[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]

[ 0. 0. 0. 0.]]

[[[1 1 1 1]

[1 1 1 1]

[1 1 1 1]]

 

[[1 1 1 1]

[1 1 1 1]

[1 1 1 1]]]

[[7 7]

[7 7]]

[[ 1., 0., 0., 0.],

[ 0., 1., 0., 0.],

[ 0., 0., 1., 0.],

[ 0., 0., 0., 1.]]

[[ 0.00000000e+000 6.91240343e-310]

[ 6.91240500e-310 5.39088070e-317]

[ 5.39084907e-317 6.91239798e-310]

[ 3.16202013e-322 6.91239798e-310]]

 

like 함수

: numpy는 지정된 배열과 shape이 같은 행렬을 만드는 like 함수를 제공함.

- np.zeros_like

- np.ones_like

- np.full_like

- np.enpty_like