Python 데이터 크기 비교하는 방법이 어떻게 되나요?

조회수 950회

파이썬에서 데이터 크기를 비교할 때 size, len, shape 등의 함수를 사용해서 비교하긴 했는데 정확하게 해당 데이터가 메모리상에서 얼만큼의 크기를 차지하고 있는지 알 수 있을까요? MB, GB 단위라던가...

추가로 JSON 구조의 문자열을 dict-list 형태(type=list)로 변환하고 pandas를 통해 Dataframe으로 변환 했다고 했을 때

String, List, Dataframe 중에 가장 데이터 크기가 큰 것은 무엇인가요?

1 답변

  • sys.getsizeof(object[, default])

    객체의 크기를 바이트 단위로 반환합니다. 객체는 모든 형의 객체일 수 있습니다. 모든 내장 객체는 올바른 결과를 반환하지만, 구현 특정이기 때문에 제삼자 확장에서도 그렇다고 보장할 수는 없습니다.

    객체에 직접 기여한 메모리 소비만 포함하며, 이 객체가 참조하는 객체의 메모리 소비는 따지지 않습니다.

    주어진 경우, 객체가 크기를 조회하는 수단을 제공하지 않으면 default가 반환됩니다. 그렇지 않으면 TypeError가 발생합니다.

    getsizeof()는 객체의 sizeof 메서드를 호출하고 객체가 가비지 수거기에 의해 관리되면 추가 가비지 수거기 오버헤드를 추가합니다.

    컨테이너와 모든 내용물의 크기를 찾기 위해 getsizeof()를 재귀적으로 사용하는 예는 recursive sizeof recipe를 참조하십시오.

    발췌 원문 : https://docs.python.org/ko/3/library/sys.html

    • 감사합니다!!!! 김재민 2021.8.25 08:34

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)