๋ํ์ด(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)
ora-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)
ora + 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)
ora * 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. ]]])
๋๊ธ