Artificial Intelligence/πŸ“–

[정리] Numpy β‘‘ : squeeze

geum 2022. 4. 20. 14:48
b = np.array(range(1, 13, 2)).reshape(2, 3, 1) # μ˜ˆμƒ 2ν–‰ 3μ—΄

 

μ΄λ²ˆμ—λŠ” 닀차원 λ°°μ—΄λ‘œ μ‹€μŠ΅μ„ μ§„ν–‰ν•΄λ΄€λŠ”λ° λ°°μ—΄ 생성 κ²°κ³Ό μ΄ν•΄ν•˜λŠ” 데에 ν•œμ°Έ κ±Έλ Έλ‹€. reshape 인자 μˆœμ„œλŒ€λ‘œ (ν–‰, μ—΄, 차원) 인쀄 μ•Œμ•˜λŠ”λ°? 그것이? μ•„λ‹ˆμ—ˆμŠ΅λ‹ˆλ‹€!

 

μ‹€ν–‰ κ²°κ³Ό

 

numpy arrayλŠ” λ‹€λ₯Έ μ–Έμ–΄μ—μ„œμ˜ λ°°μ—΄μ²˜λŸΌ μš”μ†Œ κ°„ μ½€λ§ˆκ°€ μ•ˆ 찍히기 λ•Œλ¬Έμ— κ²°κ³Ό 보자마자 λ°”λ‘œ 와닿지가 μ•Šμ•˜λ‹€. 일단 reshapeλŠ” (차원, ν–‰, μ—΄) 크기의 닀차원 배열을 λ§Œλ“ λ‹€. → reshape(2, 3, 1)은 3ν–‰ 1μ—΄μ˜ 배열을 2개 μŒ“μ•˜λ‹€λŠ” 뜻

 

reshape(2, 3, 1)

 

squeeze

# axis default: None, μ›ν•˜λŠ” μΆ• 지정 κ°€λŠ₯
b_squeeze = b.squeeze()

 

λ°°μ—΄μ—μ„œ 길이가 1인 좕을 μ œκ±°ν•œλ‹€. (2, 3, 1) 3μ°¨μ›μ—μ„œ 1을 μ œκ±°ν–ˆμœΌλ‹ˆκΉŒ 2ν–‰ 3μ—΄μ˜ 2차원 배열이 되고 b_squeezeμ—μ„œ λŒ€κ΄„ν˜Έ ν•œ 쌍이 쀄어든 것을 확인할 수 μžˆλ‹€.

 

μ‹€ν–‰ κ²°κ³Ό

 

인자둜 μ œκ±°ν•  좕을 지정할 수 μžˆλŠ”λ° 길이가 1이 μ•„λ‹Œ 좕을 λ„£μœΌλ©΄ μ—λŸ¬κ°€ λ°œμƒν•œλ‹€.

 

μœ„ μ˜ˆμ‹œμ—μ„œ axis=1의 κΈΈμ΄λŠ” 3이기 λ•Œλ¬Έμ— μ—λŸ¬ λ°œμƒ