ํฐ์คํ ๋ฆฌ ๋ทฐ

๐นNumPy์ axis๋?
axis๋ ๋ฐฐ์ด์์ ์ฐ์ฐ์ด ์งํ๋๋ ๋ฐฉํฅ(์ถ) ์ ์๋ฏธํ๋ค.
์ฆ, axis๋ฅผ ์ง์ ํ๋ค๋ ๊ฑด "๊ทธ ์ถ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์์ถํ๋ค"๋ ๋ป์ด๋ค.
๐ 2์ฐจ์ ๋ฐฐ์ด์์์ axis
2์ฐจ์์ ๋ฐฐ์ด์ (ํ,์ด)์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.

| ๋ฐฉํฅ | axis ๊ฐ | ์ค๋ช |
| ํ ๋ฐฉํฅ | axis = 0 | ์์์ ์๋๋ก (ํ์ ๋ฐ๋ผ) ์ฐ์ฐ |
| ์ด ๋ฐฉํฅ | axis = 1 | ์ข์์ ์ฐ๋ก (์ด์ ๋ฐ๋ผ) ์ฐ์ฐ |
์์๋ฅผ ๋ณด๋ฉฐ ์ดํดํด๋ณด์.

arr1์ 3ํ 5์ด์ 2์ฐจ์ ๋ฐ์ดํฐ์ด๋ค.
๊ฐ ์ถ์ ๋ฐ๋ผ sum() ์ฐ์ฐ์ ํด๋ณด์.
! ๊ธฐ๋ณธ์ ์ผ๋ก ๋ํ๊ฒ ๋๋ฉด ์ฐจ์์ด ํ๋ ์ค๊ฒ ๋๋ค.
โถ axis = 0 (ํ ๋ฐฉํฅ, ์ธ๋ก๋ก ๋ํ๊ธฐ)

ํ ๋ฐฉํฅ์ผ๋ก ๋ํ ๊ฒ์ด๋ค. ์ฆ, ํ์ ๋ฐ๋ผ ์์ถํ๋ค๋ ๊ฒ์ด๋ค.

ํ(0๋ฒ์งธ ์ถ)์ ๋ฐ๋ผ ์ฐ์ฐ์ ํ๊ธฐ ๋๋ฌธ์(5,)์ 1์ฐจ์ ๋ฐฐ์ด์ด ๋๋ค.
โถ axis = 1 (์ด ๋ฐฉํฅ, ๊ฐ๋ก๋ก ๋ํ๊ธฐ)

์ด ๋ฐฉํฅ์ผ๋ก ๋ํ ๊ฒ์ด๋ค. ์ฆ, ์ด์ ๋ฐ๋ผ ์์ถํ๋ค๋ ๊ฒ์ด๋ค.

์ด(1๋ฒ์งธ ์ถ)์ ๋ฐ๋ผ ์ฐ์ฐ์ ํ๊ธฐ ๋๋ฌธ์(3,)์ 1์ฐจ์ ๋ฐฐ์ด์ด ๋๋ค.
๐ 3์ฐจ์ ๋ฐฐ์ด์์์ axis
3์ฐจ์ ๋ฐฐ์ด์ (์ฐจ์,ํ,์ด)์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.

| ๋ฐฉํฅ | axis ๊ฐ | ์ค๋ช |
| ๊น์ด ๋ฐฉํฅ | axis = 0 | ๋ฐฐ์ด๋ค์ ์ธ๋ก๋ก ์์ถ |
| ํ ๋ฐฉํฅ | axis = 1 | ๊ฐ ๋ฐฐ์ด์ ํ์ ์์ถ |
| ์ด ๋ฐฉํฅ | axis = 2 | ๊ฐ ๋ฐฐ์ด์ ์ด์ ์์ถ |
์์๋ฅผ ๋ณด๋ฉฐ ์ดํดํด๋ณด์.

arr2์ 4ํ 3์ด์ 2์ฐจ์ ๋ฐ์ดํฐ๊ฐ 3๊ฐ ์๋ค.
๊ฐ ์ถ์ ๋ฐ๋ผ sum() ์ฐ์ฐ์ ํด๋ณด์.
โถ axis = 0 (์ฐจ์ ๋ฐฉํฅ)

์ฐจ์์ ๋ฐ๋ผ์ ์์ถํ ๊ฒ์ด๋ค.

์ฐจ์(0๋ฒ์งธ ์ถ)์ ๋ฐ๋ผ ์ฐ์ฐ์ ํ๊ธฐ ๋๋ฌธ์ (4, 3)์ 2์ฐจ์ ํ๋ ฌ์ด ๋๋ค.
โถ axis = 1 (ํ ๋ฐฉํฅ)

ํ์ ๋ฐ๋ผ์ ์์ถํ ๊ฒ์ด๋ค.

ํ(1๋ฒ์งธ ์ถ)์ ๋ฐ๋ผ ์ฐ์ฐ์ ํ๊ธฐ ๋๋ฌธ์ (3, 3)์ 2์ฐจ์ ํ๋ ฌ์ด ๋๋ค.
โถ axis = 2 (์ด ๋ฐฉํฅ)

์ด์ ๋ฐ๋ผ์ ์์ถํ ๊ฒ์ด๋ค.

์ด(2๋ฒ์งธ ์ถ)์ ๋ฐ๋ผ ์ฐ์ฐ์ ํ๊ธฐ ๋๋ฌธ์ (3, 4)์ 2์ฐจ์ ํ๋ ฌ์ด ๋๋ค.
โถ axis = (ํํ)
axis์ ๊ฐ์ด ํํ๋ก ์ฃผ์ด์ก์ ๋ ์์๋๋ก ๋ชจ๋ ์ถ์ ๋ํด์ ์ฐ์ฐ์ ์ํํ๋ฉด ๋๋ค.
result = np.sum(arr2, axis=(0,1))
print(result) # [198 210 222]
result = np.sum(arr2, axis=(0,2))
print(result) # [117 144 171 198]
result = np.sum(arr2, axis=(1,2))
print(result) # [ 66 210 354]
์ฒซ๋ฒ์งธ ์์๋, 3์ฐจ์์์ ์ฐจ์์ ๋ฐ๋ผ ์ฐ์ฐ์ ์ํํ ํ, 2์ฐจ์ ๋ฐ์ดํฐ์์ ํ์ ๋ฐ๋ผ ์ฐ์ฐํ๋ฉด ๋๋ค. ๊ธฐ์กด shape์ (3,4,3)์ด์์ผ๋ ์ฐจ์๊ณผ ํ์ ๋ฐ๋ผ ์ฐ์ฐํ์ผ๋ฏ๋ก shape์ (3,)์ด ๋๋ค.
๋๋ฒ์งธ ์์๋, 3์ฐจ์์์ ์ฐจ์์ ๋ฐ๋ผ ์ฐ์ฐ์ ์ํํ ํ, 2์ฐจ์ ๋ฐ์ดํฐ์์ ์ด์ ๋ฐ๋ผ ์ฐ์ฐํ๋ฉด ๋๋ค. ๊ธฐ์กด shape์ (3,4,3)์ด์์ผ๋ ์ฐจ์๊ณผ ์ด์ ๋ฐ๋ผ ์ฐ์ฐํ์ผ๋ฏ๋ก shape์ (4,)์ด ๋๋ค.
์ธ๋ฒ์งธ ์์๋, 3์ฐจ์์์ ํ์ ๋ฐ๋ผ ์ฐ์ฐ์ ์ํํ ํ, 2์ฐจ์ ๋ฐ์ดํฐ์์ ์ด์ ๋ฐ๋ผ ์ฐ์ฐํ๋ฉด ๋๋ค. ๊ธฐ์กด shape์ (3,4,3)์ด์์ผ๋ ํ๊ณผ ์ด์ ๋ฐ๋ผ ์ฐ์ฐํ์ผ๋ฏ๋ก shape์ (3,)์ด ๋๋ค.
๋ง๋ฌด๋ฆฌ
axis๋ "์ด๋ ๋ฐฉํฅ์ผ๋ก ์ถ์ํ๋๋"๋ฅผ ๋งํ๋ค.
- axis = 0: ํ์ ๋ฐ๋ผ ์ฐ์ฐ → ์ด๋ง ๋จ์
- axis = 1: ์ด์ ๋ฐ๋ผ ์ฐ์ฐ → ํ๋ง ๋จ์
- axis = 2: 3์ฐจ์ ๋ฐฐ์ด์์ ์ด ๋ฐฉํฅ์ผ๋ก ์ฐ์ฐ → ํ๋ง ๋จ์
'ํ์ด์ฌ > Numpy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Numpy] ndarray ํํ ๋ฐ๊พธ๊ธฐ (reshape() ,flatten(), copy(), view()) (3) | 2025.08.08 |
|---|---|
| [Numpy] random ๋์ ์์ฑ (rand, randint, randn, normal,seed) (2) | 2025.08.06 |
| [Numpy] Numpy ๋ฐฐ์ด ndarray ์์ฑ (4) | 2025.08.04 |
| [Numpy] Numpy์ ๊ฐ์ ๋ฐ ์ค์น (0) | 2024.07.03 |
| [Python ํ์ด์ฌ] Numpy ๋ฐฐ์ด ์์ฑ ๋ฐฉ๋ฒ (0) | 2024.07.03 |
- Total
- Today
- Yesterday
- ๋น์ฉํจ์
- ๊ฐ์๋ ธํธ ์ ๋ฆฌ
- Sort
- ML
- NumPy
- ๊ฒฝ์ฌํ๊ฐ๋ฒ
- ํด๋์ค ์ด ์ ๋ฆฌ
- ๋ก์ง์คํฑ ํ๊ท
- Action spaces
- *
- cnn
- python
- ๋ฐฑ์ค
- **kwargs
- baekjoon
- ์์ฝ๋ฉ
- sorted
- *args
- ML ํ๋ก์ธ์ค
- ndarray
- ๊ฐํํ์ต
- **
- ์ค๋๋ฅ์
- ํ์ด์ฌ
- ๋จธ์ ๋ฌ๋
- ML ์ข ๋ฅ
- ์์คํจ์
- ๋ฅ๋ฌ๋
- ML Process
- Andrew Ng
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
