[넘파이 기초] flatten 와 ravel의 차이 | 메모리 관리(.copy() vs .view()) 넘파이에서 이 둘의 기능은 사실상 같습니다. 그래서 아마 많은 분들이 둘이 어떤 차이가 있을지 잘 모르실텐데요. 오늘은 이 둘의 기능 및 차이를 알아보고 주의해야 할점을 공부해봅시다. 먼저 둘을 이해하기 위해선 .copy()와 .view() 메소드를 통해 메모리 공유에 대한 개념부터 알아야 합니다. .copy() import numpy as np a = np.arange(5) # array([0, 1, 2, 3, 4]) b = a.copy() b[0] = 100 print(a) print(b) 위와 같이 5개의 원소를 가진 배열을 a 변수에 넣고. 이 값을 복사(copy)에서 다시 b에 넣은 후 b[0] 의 값을 바꾼 경우입니다. a, b 의 값이 어떻게 나올까요? 위와같이 b배열의 값을 변경했으니 b의.. 머신러닝,딥러닝/넘파이,numpy 2021. 4. 10. [넘파이 기초] np.resize vs np.reshape 시리즈[2] 데이터 분석을 하다보면 A = ~~~~ B = A.copy() 이런식으로 .copy()라는 메소드가 쓰인 코드를 보신적이 많이 있으실거에요. 이건 왜 쓰는것일까요? copy()를 쓰지않으면 A 에 담겨있는 값을 B라는 변수명에 담는데.. 같은 메모리를 공유를 하게되요. 다시 말하면 같은 공간을 쓰면서 명칭을 두개나 가지고있게 되는거죠.. 그래서 그게 뭐가 문제란 말인가? 쉽게 말하면 같은 공간을 쓰기때문에 B값을 수정하면 원래 값인 A값도 변경되는 문제가 발생됩니다. B값을 수정해도 변경하지 않게하려면 B만을 위한 새로운 공간을 만들어줘야 해요 이때 사용하는게 copy() 라는 메소드입니다. 지금 이해가 당장 되지 않아도 좋아요! 우리가 알아볼 reshape와 resize의 비교를 통해서 차츰차츰 알아가.. 머신러닝,딥러닝/넘파이,numpy 2021. 4. 9. 이전 1 다음