본문 바로가기
기술스택을 쌓아보자/Python

[pandas] 데이터프레임이 먹고있는 메모리 확인하기(Out Of Memory 디버깅의 시작이 아닐까?)

by 소리331 2021. 8. 18.
반응형

간혹 빅데이터를 다루다 보면, 기기의 메모리를 먹느라 OOM 에러가 날때가 많다.

이럴 때, 나는 아래와 같은 순서로 디버깅을 한다.

1. 동일한 데이터가 중복으로 선언된 코드가 없는지 확인

2. 데이터 자체의 메모리를 확인

 

사실 OOM이라함은 기기의 사양이 근본적인 원인이지만, 그래도 혹시나,,, 하는 마음에 확인해본다 ㅎㅎ

 

아래는 데이터 프레임이 먹는 메모리를 확인하는 코드이다.

 

#방법 1
df.info(memory_usage="deep")

#방법 2
df.memory_usage(deep=True)

 

두개의 차이는 아래와 같다.

df.info(memory_usage="deep") 메모리 정보 뿐만 아니라 null, dtype 정보도 나온다.
df.memory_usage(deep=True)  df 내의 열이 사용하는 메모리에 대해 나온다.

 

필요한 정보가 있는 것에 따라 골라서 확인해보자!

 

반응형

댓글