๐์ฐ์ ์ฐ์ฐ
- 1. ๋ํ๊ธฐ : +, add()
- 2. ๋นผ๊ธฐ : -, subtract()
- 3. ๋๋๊ธฐ : /, divide()
- 4. ๊ณฑํ๊ธฐ : *, multiply()
- 5. ์ง์๊ณฑ ํํ : exp()
- 6. ์ ๊ณฑ๊ทผ : sqrt()
- 7. ๋ก๊ทธ : log()
- 8. ๋ด์ (ํ๋ ฌ๊ณฑ) : dot()
๐๋ํ๊ธฐ์ ๋นผ๊ธฐ๋ ๊ฐ์ ์ด๋ผ๋ฆฌ ์ฐ์ฐ ์์ฉ์ด ์ผ์ด๋๊ณ
๊ณฑ์ ์ ํ๋ ฌ๊ณฑ์ ๋ฐ๋ฅธ ์ฐ์ฐ์์ฉ์ด ์ผ์ด๋๋ค
๐ ๋ํ๊ธฐ์ ๊ณฑํ๊ธฐ๋ ์๋ค ์์์ ๊ตฌ์ ๋ฅผ ๋ฐ์ง ์์ง๋ง ๋นผ๊ธฐ์ ๋๋๊ธฐ๋
์์์ ๋ฐ๋ผ ๊ฒฐ๊ด๊ฐ์ด ๋ฌ๋ผ์ง๋ค๋ ๊ฒ์ ๋ช ์ฌํ์
๐Numpy ๋ฐฐ์ด ์ฐ์ฐ
2. ๋น๊ต ์ฐ์ฐ
1) ์์
- ๊ฐ์ ๋ํ ๋น๊ต : ==, !=
- ํฌ๊ธฐ์ ๋ํ ๋น๊ต : >, <, >=, <=
2) ๋ฐฐ์ด
- ๋ ๋ฐฐ์ด ์ ์ฒด์ ๋ํ ๋น๊ต : array_equal(a, b)
๐์ง๊ณ ํจ์
- Numpy ๋ฐฐ์ด์ ๋ํด ์ง๊ณ ํจ์๋ฅผ ์ ์ฉํ ๋๋ ๋ฐ๋์ axis๋ก ์ค์ ๋ ๊ธฐ์ค์ ๋ฐ๋ผ ์ฐ์ฐ ์ํ
- ๋ณ๋๋ก ๊ฐ์ ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ axis = None์ผ๋ก ์ง์
- axis ๐ฅ ์์ฃผ ์ ์ฉํ๊ฒ ์ธ ์ ์์ต๋๋ค๐ฅ๐
- axis = None
์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๋ฐฐ์ด๋ก ๊ฐ์ฃผํ๊ณ ์ง๊ณ ํจ์์ ์ฐ์ฐ ๋ฒ์๋ฅผ ์ ์ฒด ๋ฐฐ์ด๋ก ์ง์
- axis = None
axis = 0 ๐ฅ
์ด์ ๊ธฐ์ค์ผ๋ก ๋์ผํ ์ด์ ์๋ ์์๋ฅผ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด ์ง๊ณ ํจ์์ ์ฐ์ฐ ๋ฒ์๋ก ์ง์
axis = 1
ํ์ ๊ธฐ์ค์ผ๋ก ๋์ผํ ํ์ ์๋ ์์๋ฅผ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด ์ง๊ณ ํจ์์ ์ฐ์ฐ ๋ฒ์๋ก ์ง์
- ์ง๊ณ ํจ์ : ๋ฐฐ์ด ๊ฐ์ฒด์ ๋ํ ๋ฉ์๋๋ก ์ฌ์ฉํ๊ฑฐ๋ Numpy ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฉ์๋๋ก ์ฌ์ฉํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ
- ํฉ๊ณ : sum()
- ์ต์๊ฐ : min()
- ์ต๋๊ฐ : max()
- ๋์ ํฉ๊ณ : cumsum()
- ํ๊ท : mean()
- ์ค์๊ฐ : median()
- ํฌ๊ธฐ ์์ผ๋ก ๋์ด๋ ๋ฐ์ดํฐ์ ๋ํด ์ค์์ ์์นํ๋ ๊ฐ
- ์๊ด๊ณ์ : corrcoef()
- ๋ฐ์ดํฐ ๊ฐ์ ์๊ด๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์์น(-1 <= r <= 1)
- ํ์คํธ์ฐจ : std()
- ๋ถ์ฐ์ ์ ๊ณฑ๊ทผ, ๋ฐ์ดํฐ๊ฐ ํ๊ท ์ผ๋ก๋ถํฐ ํฉ์ด์ ธ ์๋ ์ ๋
- ๋ถ์ฐ = ํธ์ฐจ(์์-์ ์ฒด ํ๊ท ) ์ ๊ณฑ์ ํ๊ท
- ๊ณ ์ ๊ฐ : unique()
โป numpy์์๋ 3๊ฐ ์์๋ฅผ ์ด์ฉํ ์๊ด๋๋ฅผ ๊ตฌํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅ
โป ํฌ๋์ค๋ฅผ ์ด์ฉํ๋ ๊ฒฝ์ฐ๋ 2๊ฐ์ฉ ์ง์ง์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด์ค๋ค
๐๋ธ๋ก๋์บ์คํ (BroadCasting)
- ์๋ก ๋ค๋ฅธ ๊ตฌ์กฐ(shape)๋ฅผ ๊ฐ์ง ๋ฐฐ์ด์ ๋ํด ์ฐ์ฐ์ ์ํํ ๋ ๊ตฌ์กฐ๋ฅผ ๋ง์ถ๋ ๊ณผ์
- ๋ฐฐ์ด๊ณผ ์ค์นผ๋ผ ๊ฐ ๊ฐ์ ์ฐ์ฐ
- ๋ฐฐ์ด๊ณผ ๋ฐฐ์ด ๊ฐ์ ์ฐ์ฐ
- ๋ธ๋ก๋์บ์คํ ๊ท์น : ์ถ์ ๊ธธ์ด๊ฐ ์ผ์นํ๊ฑฐ๋ ๋ ์ค ํ๋์ ๊ธธ์ด๊ฐ 1์ธ ๋ ๋ฐฐ์ด์ ๋ํด ํธํ์ฑ์ ๊ฐ์ง
- reshape๊ณผ append(์ถ๊ฐ), axis(ํ, ์ด ๋ฐฉํฅ)์ ํ์ฉํ์ฌ ์๋ก ๋ค๋ฅธ ๋ฐฐ์ด์ ๋์ผํ ๋ฐฐ์ด๋ก ์ฐ์ฐ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค.
๐๋ฒกํฐ ์ฐ์ฐ
loop_result = 0
for i in x:
loop_result += i
print(loop_result)
- ์์๋ค์ ๋ํ ์ฐ์ฐ์ ๋ฒกํฐ ์ฐ์ฐ์ผ๋ก ์ฒ๋ฆฌํ๋ฉด ์ผ๋ฐ์ ์ธ for๋ฐ๋ณต๋ฌธ์ผ๋ก ์ฐ์ฐ ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ๋ณด๋ค ์๋ฑํ ๋ฐ์ด๋ ์ฒ๋ฆฌ ์๋๋ก ํจ์จ์ ์ธ ์์ ๊ฐ๋ฅ
- (์ฐธ์กฐ) ์
์ ์ํํ๋๋ฐ ์์๋ ์๊ฐ์ ํ๊ธฐํด์ฃผ๋ ์ฃผํผํฐ ๋
ธํธ๋ถ ๋ช
๋ น์ด
- %%time(์ ์ ๊ฐ์ฅ ์๋จ์ ์์นํด์ผ ํจ(์ฃผ์ ํฌํจํด์ ๊ฐ์ฅ ์๋จ์ ์์นํด์ผ ํจ.)
๐๋ฐฐ์ด ์ ๋ ฌ
- sort(axis = -1) ๋ฉ์๋ : axis๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๋ฅผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- ๊ธฐ๋ณธ๊ฐ(axis = -1) : ํ์ฌ ๋ฐฐ์ด์ ๋ง์ง๋ง axis
- axis = 0 : ์ด ๋จ์ ์ ๋ ฌ
- axis = 1 : ํ ๋จ์ ์ ๋ ฌ
- ์๋ณธ ๊ฐ์ฒด์ ์ ๋ ฌ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์๋จ
- np.sort(axis = -1) : axis๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๋ฅผ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
- ๊ธฐ๋ณธ๊ฐ(axis = -1) : ํ์ฌ ๋ฐฐ์ด์ ๋ง์ง๋ง axis
- axis = 0 : ์ด ๋จ์ ์ ๋ ฌ
- axis = 1 : ํ ๋จ์ ์ ๋ ฌ
- ์ ๋ ฌ๋ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํจ
- np.argsort(arr) : ์ ๋ ฌ ์์๋ฅผ ๋ฐํ
- ๊ธฐ๋ณธ๊ฐ(axis = -1) : ํ์ฌ ๋ฐฐ์ด์ ๋ง์ง๋ง axis
- axis = 0 : ์ด ๋จ์ ์ ๋ ฌ
- axis = 1 : ํ ๋จ์ ์ ๋ ฌ
์) 2์ฐจ์ ๋ฐฐ์ด์ ๊ฒฝ์ฐ
๊ธฐ๋ณธ๊ฐ axis = -1
ํ์ฌ ๋ฐฐ์ด์ axis = 0, 1
๋ง์ง๋ง axis = 1 (row๋ณ ์ ๋ ฌ)
์ธ๋ฑ์ฑ(Indexing), ์ฌ๋ผ์ด์ฑ(Slicing)
1. ์ธ๋ฑ์ฑ : ํ๋์ ์์์ ๋ํด ์ฐธ์กฐ
- ๊ฐ ์ฐจ์์ ๋ฐ๋ผ ๋ฐฐ์ด์ด ์ฐธ์กฐํ๋ ์ธ๋ฑ์ค์ ๊ฐ์๊ฐ ๋ค๋ฆ
- 1์ฐจ์ ๋ฐฐ์ด : ์ธ๋ฑ์ค 1๊ฐ (ํ๋์ ํ์ ์ ๊ทผ = 1ํ arr2 [0], ํ๋์ ์ด์ ์ ๊ทผ 1์ด arr2 [:, 1]
- 2์ฐจ์ ๋ฐฐ์ด : ์ธ๋ฑ์ค 2๊ฐ
- 3์ฐจ์ ๋ฐฐ์ด : ์ธ๋ฑ์ค 3๊ฐ
- ์์) 3์ฐจ์ ๋ฐฐ์ด ์์ฑ
๊ตฌ์กฐ : 2๊ฐ์ ์ธต(ํ์ด์ง, ๋ฉด), 4ํ 3์ด - np.arange() => 24๊ฐ์ size
arr3 = np.arange(0, 24).reshape((2, 4, 3))
np_print(arr3)
- ์์) 3์ฐจ์ ๋ฐฐ์ด ์์ฑ
- ์ธ๋ฑ์ฑ์ผ๋ก ์ฐธ์กฐํ ์์์ ๋ํด ์์ ๊ฐ๋ฅ
- ์ธ๋ฑ์ค ๋ฐฐ์ด์ ์ ๋ฌํ์ฌ ์ฌ๋ฌ ๊ฐ์ ์์ ์ฐธ์กฐ
- ์ฌ๋ฌ ๊ฐ์ ํ ์กฐํ ์ฌ๋ฌ๊ฐ์ ์ด ์กฐํ
arr2[:, [0, 2]] arr2[[0, 3]]
- ์ฌ๋ฌ ๊ฐ์ ํ ์กฐํ ์ฌ๋ฌ๊ฐ์ ์ด ์กฐํ
2. ์ฌ๋ผ์ด์ฑ : ์ฌ๋ฌ ๊ฐ์ ์์์ ๋ํด ์ฐธ์กฐ
- 1์ฐจ์ ์ฌ๋ผ์ด์ฑ โ 1~n๋ฒ ์ ๊ทผ = a[1:n], 1๋ฒ~n๋ฒ๊น์ง 3๊ฐ์ฉ ๊ฑด๋๋ด๋ค = a[1:n:3]
- 2์ฐจ์ ๋ฐฐ์ด ์ฌ๋ผ์ด์ฑ โ 0ํ๋ถํฐ 3ํ๊น์ง ์ ๊ทผ = 2d_array[ํ(:์ด:๊ฐ๊ฒฉ)]
- axis ๋ณ๋ก ๋ฒ์ ์ง์
- from_index : ์์ ์ธ๋ฑ์ค(ํฌํจ), 0์ผ ๊ฒฝ์ฐ ์๋ต ๊ฐ๋ฅ
- to_index : ์ข ๋ฃ ์ธ๋ฑ์ค(๋ฏธํฌํจ), ๋ง์ง๋ง ์ธ๋ฑ์ค์ผ ๊ฒฝ์ฐ ์๋ต ๊ฐ๋ฅ
- step : ์ฐ์๋์ง ์์ ๋ฒ์์ ๊ฒฝ์ฐ ๊ฐ๊ฒฉ ์ง์
- ์ด๋ง ์กฐํํ๋ ๊ฒฝ์ฐ : ์ ์ฒด ํ์ ์ฌ๋ผ์ด์ฑ์ผ๋ก ์ ๊ทผ ํ ํน์ ์ด์ ์กฐํ
๐ ์กฐ๊ฑด ์์ธ(Boolean Indexing) ๋ฐฉ๋ฒ : ์๋ฃ[์๋ฃ๋ฅผ ํฌํจํ ์กฐ๊ฑด์]
- ๋ฐฐ์ด์ ์์์ ๋ํด ์กฐ๊ฑด์ ์ ์ฉํ์ฌ True, False๋ก ์กฐ๊ฑด์ ๋ํ ๊ฒฐ๊ณผ ๋ฐํ
- True์ ํด๋นํ๋ ์์๋ง ์กฐํํ์ฌ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฒฐ๊ณผ ๋ฐํ
๐ ๋ฐฐ์ด ๋ณํ
1. ์ ์น(Transpose)
- ๋ฐฐ์ด์ ํ/์ด ์ธ๋ฑ์ค๊ฐ ๋ฐ๋๋ ๋ณํ
- ๋ฐฐ์ด๊ฐ์ฒด.T : ํ/์ด ์ธ๋ฑ์ค๊ฐ ๋ฐ๋ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ๋ฉฐ ์๋ณธ์ ๋ณ๊ฒฝ๋์ง ์์
2. ๋ฐฐ์ด ํํ ๋ณ๊ฒฝ
- arr.ravel(), np.ravel(arr)
- ๋ค์ฐจ์ ๋ฐฐ์ด์ 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ณํ
- np.ravel() : 1์ฐจ์์ผ๋ก ๋ณํ๋๋ ๊ฒฐ๊ณผ๋ ์๋ณธ ๋ฐฐ์ด์ ๋ฐ์๋์ง ์์
- arr.ravel() : 1์ฐจ์์ผ๋ก ๋ณํํ๋ ๋ฐฐ์ด์ ์์๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋ณธ ๋ฐฐ์ด์๋ ๋ฐ์๋จ
- arr.reshape(new_shape), np.reshape(arr, new_shape)
- ์๋ณธ ๋ฐฐ์ด ๊ฐ์ฒด์ ๊ตฌ์กฐ(shape)๋ฅผ ๋ณ๊ฒฝ
- ๋ณ๊ฒฝํ๋ ค๋ ๊ตฌ์กฐ์ ์ ์ฒด ์์ ๊ฐ์์ ์๋ณธ ๋ฐฐ์ด์ ์ ์ฒด ์์ ๊ฐ์๊ฐ ๋์ผํด์ผ ํจ
- ๋ณ๊ฒฝํ๋ ค๋ ๊ตฌ์กฐ์ ํํ ์ค ํ๋์ ์์๋ -1๋ก ๋์ฒดํ ์ ์๊ณ ๋ค๋ฅธ ํ๋์ ์์๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐ๋์ด ์ฌ์ฉ๋จ
- reshape() ๋ฉ์๋๊ฐ ๋ฐํํ๋ ๋ฐฐ์ด์ ์์๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์๋ณธ ๋ฐฐ์ด์๋ ๋ฐ์๋จ
3. ์์ ๋ณ๊ฒฝ, ์ถ๊ฐ, ์ญ์ (๐ฏ์์ฃผ ์ค์ ์์ด๋ฒ๋ฆฌ์ง ๋ง์โโ)
1) ์์ ๋ณ๊ฒฝ
- arr.resize(new_shape), np.resize(arr, new_shape)
- ๋ฐฐ์ด ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ณธ ๋ณ๊ฒฝ, np ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์๋ก์ด ๋ฐฐ์ด ๋ฐํ
- ๋ฐฐ์ด์ ๊ตฌ์กฐ(shape)๋ฅผ ๋ณ๊ฒฝํ๋ฉฐ ์๋ณธ ๋ฐฐ์ด์ ์์ ์์ ๋์ผํ์ง ์์๋ ๋ณ๊ฒฝ ๊ฐ๋ฅ
- ๋ณ๊ฒฝ๋๋ ๋ฐฐ์ด์ ์์ ์๊ฐ ๋์ผํ ๊ฒฝ์ฐ : ๐reshape() ๋ฉ์๋์ ๋์ผํ ๊ฒฐ๊ณผ
- ๋ณ๊ฒฝ๋๋ ๋ฐฐ์ด์ ์์ ์๊ฐ ๋ ๋ง์ ๊ฒฝ์ฐ
- np.resize(arr, new_shape) : ์๋ณธ์ ๋ณ๊ฒฝํ์ง ์๊ณ , ๋ชจ์๋ ๋ถ๋ถ์ ๊ธฐ์กด ๋ฐฐ์ด ๊ฐ์์ ๋ณต์ฌํด์ ์ถ๊ฐ
- arr.resize(new_shape) : ์๋ณธ์ ๋ณ๊ฒฝํ๊ณ , ๋ชจ์๋ ๋ถ๋ถ์ 0์ผ๋ก ์ฑ์
- ๊ณตํต์ ์ผ๋ก new_shape์ ํํ๋ก ์ถ๊ฐ
- ๋ณ๊ฒฝ๋๋ ๋ฐฐ์ด์ ์์ ์๊ฐ ๋ ์ ์ ๊ฒฝ์ฐ : ๋ง์ง๋ง ๋จ์ ์์ ์ญ์
2) ์์ ์ถ๊ฐ
- np.append(arr, values, axis=None)
- arr ๋ง์ง๋ง์ values๋ฅผ ์ถ๊ฐ
- axis ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ(๊ธฐ๋ณธ๊ฐ) : 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ณํ๋์ด ๊ฒฐํฉ
- axis = 0 : ํ ๋ฐฉํฅ์ผ๋ก ๊ฒฐํฉ (๋จ, ์ด์ ๊ฐ์๊ฐ ๋์ผํด์ผ ํจ)
- axis = 1 : ์ด ๋ฐฉํฅ์ผ๋ก ๊ฒฐํฉ (๋จ, ํ์ ๊ฐ์๊ฐ ๋์ผํด์ผ ํจ)
- ์๋ณธ ๋ฐฐ์ด๋ค์ ๋ฐ์๋์ง ์์
3) ์์ ์ญ์
- np.delete(arr, idx, axis=None)
- ์ง์ ํ ์ธ๋ฑ์ค(idx)์ ํด๋นํ๋ ์์๋ฅผ ์ญ์
- axis ์ง์ ํ์ง ์๋ ๊ฒฝ์ฐ(๊ธฐ๋ณธ๊ฐ) : 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ณํ๋์ด ํด๋น ์ธ๋ฑ์ค์ ํด๋นํ๋ ์์๋ฅผ ์ญ์
- axis = 0 : ํ ๋ฐฉํฅ์ผ๋ก n๋ฒ์งธ ํ์ ์ญ์
- axis = 1 : ์ด ๋ฐฉํฅ์ผ๋ก n๋ฒ์งธ ์ด์ ์ญ์
- ์๋ณธ ๋ฐฐ์ด์ ๋ฐ์๋์ง ์์
4) ๋ฐฐ์ด ๊ฒฐํฉ
- np.concatenate((arr1, arr2, ...), axis=0)
- axis = 0(๊ธฐ๋ณธ๊ฐ) : ํ ๋ฐฉํฅ์ผ๋ก ๋ ๋ฐฐ์ด ๊ฒฐํฉ (๋จ, ์ด์ ๊ฐ์๊ฐ ๋์ผ)
- axis = 1 : ์ด ๋ฐฉํฅ์ผ๋ก ๋ ๋ฐฐ์ด ๊ฒฐํฉ (๋จ, ํ์ ๊ฐ์๊ฐ ๋์ผ)
- ์๋ณธ ๋ฐฐ์ด๋ค์ ๋ณ๊ฒฝ๋์ง ์์
'ํ๋ฃจ๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ 13์ฅ ๐๋ฐ์ดํฐ ๋ถ์_pandas(Data_Frame)๐ (0) | 2022.10.24 |
---|---|
์ 12์ฅ ๐๋ฐ์ดํฐ ๋ถ์_pandas(Series ์๋ฃํ)๐ (0) | 2022.10.21 |
์ 10์ฅ ๐๋ฐ์ดํฐ ๋ถ์_Numpy-1๐ (0) | 2022.10.18 |
์ 9์ฅ ๐ํ์ด์ฌ(python) ๊ตฌ์กฐ์ฒด์ ํด๋์ค๐ (0) | 2022.10.17 |
์ 8์ฅ ๐ํฌ๋กค๋ง(crawling) ๊ณผ ๋คํธ์ํฌ์ ๊ธฐ๋ณธ ์๋ฆฌ๐ (0) | 2022.10.14 |