본문 바로가기
Work 💻

Python | Pandas의 DataFrame 초기화하기

by 째파 2023. 1. 17.
반응형

요즘 부탁받은 것이 있어서 크롤링 관련 작업을 진행중인데, Pandas를 사용해서 원하는 정보를 DataFrame으로 계산하다보면 메모리부족 경고문이 뜨며 멈추는 상황이 종종 발생했다.

바로 메모리가 넘쳐서 발생하는 상황!

 

Pandas는 Data Science에서 가장 널리 사용되는 오픈소스 패키지로, 다차원배열을 지원하는 Numpy라는 또다른 패키지 위에 구축된다.

참고 : https://www.activestate.com/resources/quick-reads/what-is-pandas-in-python-everything-you-need-to-know/

 

What Is Pandas in Python? Everything You Need to Know

A series of articles to help you understand the Pandas library and everything you can do with it. Understand Python packages with ActiveState.

www.activestate.com

 

Pandas의 DataFrame을 for문 안에서 계속 재사용중이었는데 나의 코드는 table을 계속 DataFrame으로 정의하는 것이었다.

table = pd.DataFrame()

하지만 이 방법은 로그를 계속 남기게 된다.

 

아예 table을 초기화하는 방법으로 del을 사용할 수 있지만 numpy의 메모리만 free가 되고 메모리 문제가 완전히 해결되지 않는다.

del table

 

완전히 메모리문제를 해결하기 위해서는 del[[]]을 사용하는 것이다.

이 방법은 모든 참조(reference)를 삭제함으로써 메모리를 해제하는 것이라고 한다.

del [[table]]

 

우선 적용 후 메모리 에러는 나지 않는 것 같다...!

 

 

참고 : https://stackoverflow.com/questions/39100971/how-do-i-release-memory-used-by-a-pandas-dataframe

 

How do I release memory used by a pandas dataframe?

I have a really large csv file that I opened in pandas as follows.... import pandas df = pandas.read_csv('large_txt_file.txt') Once I do this my memory usage increases by 2GB, which is expected b...

stackoverflow.com

 

반응형

댓글