๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
study๐Ÿ“š/python

[python/ํŒŒ์ด์ฌ] Numpy ๋„˜ํŒŒ์ด (2)

by ์Šค๋‹ 2022. 8. 16.

๋„˜ํŒŒ์ด(Numpy)

4. Inspecting your array

import numpy as np
a = np.array([1, 2, 3])
b = np.array([(1.5,2, 3), (4, 5, 6)], dtype=float)
c = np.array([[(1.5, 2, 3), (4,5,6)], [(3,2,1), (4,5,6)]], dtype=float)
e = np.full((2, 2), 7)
f = np.eye(2)
  • .shape : ๋ฐฐ์—ด ๊ตฌ์กฐ ํ™•์ธ
a.shape

(3,)

  • len() : ๋ฐฐ์—ด์˜ ๊ธธ์ด ํ™•์ธ
len(a)

3

b

array([[1.5, 2. , 3. ],
            [4. , 5. , 6. ]])

  • ndim : ๋ฐฐ์—ด ์ฐจ์ˆ˜ ํ™•์ธ
b.ndim

2

e

array([[7, 7],
            [7, 7]])

  • .size : ์ „์ฒด ์›์†Œ ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜
e.size

4

b

array([[1.5, 2. , 3. ],
            [4. , 5. , 6. ]])

b.dtype

dtype('float64')

b.dtype.name

'float64'

  • .astype(์ž๋ฃŒํ˜•) : ํŠน์ • ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝ
b.astype(int)

array([[1, 2, 3],
            [4, 5, 6]])

5. Array Mathmatics

5.1 Arithmatic Operations

g = a-b
g

array([[-0.5, 0. , 0. ],
            [-3. , -3. , -3. ]])

  • .subtract(a, b) or a-b
np.subtract(a,b)

array([[-0.5, 0. , 0. ],
            [-3. , -3. , -3. ]])

b + a

array([[2.5, 4. , 6. ],
            [5. , 7. , 9. ]])

  • add(a, b) or a + b
np.add(a, b)

array([[2.5, 4. , 6. ],
            [5. , 7. , 9. ]])

a/b

array([[0.66666667, 1. , 1. ],
            [0.25 , 0.4 , 0.5 ]])

a*b

array([[ 1.5, 4. , 9. ],
            [ 4. , 10. , 18. ]])

  • multiply(a,b) or a * b
np.multiply(a,b)

array([[ 1.5, 4. , 9. ],
            [ 4. , 10. , 18. ]])

b

array([[1.5, 2. , 3. ],
            [4. , 5. , 6. ]])

  • exp() : ๋ฐ‘์ด ์ง€์—ฐ ์ƒ์ˆ˜ e(2.41) ์ธ ์ง€์ˆ˜ ํ•จ์ˆ˜
np.exp(b)

array([[ 4.48168907, 7.3890561 , 20.08553692],
[ 54.59815003, 148.4131591 , 403.42879349]])

  • sqrt() : ์ œ๊ณฑ๊ทผ ( ๋ฃจํŠธ ์”Œ์›€ )
np.sqrt(b)

array([[1.22474487, 1.41421356, 1.73205081],
            [2. , 2.23606798, 2.44948974]])

a

array([1, 2, 3])

np.sin(a)

array([0.84147098, 0.90929743, 0.14112001])

np.cos(a)

array([ 0.54030231, -0.41614684, -0.9899925 ])

np.log(a)

array([0. , 0.69314718, 1.09861229])

e

array([[7, 7],
            [7, 7]])

f

array([[1., 0.],
            [0., 1.]])

  • dot(ํ–‰๋ ฌ1,ํ–‰๋ ฌ2) : ํ–‰๋ ฌ ๋ผ๋ฆฌ์˜ ๊ณฑ์…‰
# ํ–‰๋ ฌ ๋‚ด์ 
e.dot(f)

array([[7., 7.],
            [7., 7.]])

5.2 Comparison

a

array([1, 2, 3])

b

array([[1.5, 2. , 3. ],
[4. , 5. , 6. ]])

a == b

array([[False, True, True],
            [False, False, False]])

a < 2

array([ True, False, False])

np.array_equal(a, b)

False

5.3 Aggregate Function

a

array([1, 2, 3])

  • sum() : array์˜ ์ด ํ•ฉ
a.sum()

6

  • min() : array์˜ ์ตœ์†Ÿ๊ฐ’
a.min()

1

b

array([[1.5, 2. , 3. ],
            [4. , 5. , 6. ]])

  • max(axis = ?) : axis = 0์ด๋ฉด ํ–‰, axis = 1์ด๋ฉด ์—ด ๊ธฐ์ค€ ์ตœ๋Œ“๊ฐ’
# ํ–‰ ๊ธฐ์ค€ ์ตœ๋Œ€๊ฐ’
b.max(axis=0)

array([4., 5., 6.])

  • cumsum(axis = ?) : axis = 0์ด๋ฉด ํ–‰, axis = 1์ด๋ฉด ์—ด ๊ธฐ์ค€ ๋ˆ„์ ํ•ฉ๊ณ„
# ์—ด ๊ธฐ์ค€ ๋ˆ„์ ํ•ฉ
b.cumsum(axis=1)

array([[ 1.5, 3.5, 6.5],
            [ 4. , 9. , 15. ]])

  • mean() : ํ‰๊ท ๊ฐ’
a.mean()

2.0

  • std() : ํ‘œ์ค€ํŽธ์ฐจ ๊ฐ’
np.std(b) 

1.5920810978785667

6. Copying Arrays

a

array([1, 2, 3])

b

array([[1.5, 2. , 3. ],
            [4. , 5. , 6. ]])

b = np.array([4,5,6])
  • view() : ์›๋ณธ๊ณผ ๋ณต์‚ฌ๋ณธ ์ƒํ˜ธ์˜ํ–ฅ. ์ฆ‰, ์„œ๋กœ ์˜ํ–ฅ ๋ฏธ์น˜๊ณ  ๋ณต์‚ฌ๋ณธ ๋ฐฐ์—ด์ด ๊ฐœ๋ณ„ ์†Œ์œ  x
v = a.view()
v

array([1, 2, 3])

  • copy() : ์›๋ณธ๊ณผ ๋ณต์‚ฌ๋ณธ์ด ๋ณ„๊ฐœ. ์ฆ‰, ์„œ๋กœ ์˜ํ–ฅ์„ ์•ˆ ๋ฏธ์น˜๊ณ  ๋ณต์‚ฌ๋ณธ ๋ฐฐ์—ด์ด ๋ฐ์ดํ„ฐ ๊ฐœ๋ณ„ ์†Œ์œ  o
h = a.copy()
h

array([1, 2, 3])

a = a+b
a

array([5, 7, 9])

h

array([1, 2, 3])

7. Sorting Arrays

a

array([1, 2, 3])

  • list.sort() : ๋ณ€์ˆ˜ ์ž์ฒด๋ฅผ ์ˆ˜์ •, ํ•จ์ˆ˜ ๋ฐ˜ํ™˜๊ฐ’ None ๊ฐ’. key ์„ค์ • ๊ฐ€๋Šฅ. reverse(๋‚ด๋ฆผ์ฐจ์ˆœ) ๊ฐ€๋Šฅ
a.sort()
a

array([5, 7, 9])

c

array([[[1.5, 2. , 3. ],
             [4. , 5. , 6. ]],
           [[3. , 2. , 1. ],
            [4. , 5. , 6. ]]])

c.sort(axis=0)
c

array([[[1.5, 2. , 1. ],
             [4. , 5. , 6. ]],
           [[3. , 2. , 3. ],
             [4. , 5. , 6. ]]])

๋Œ“๊ธ€