본문 바로가기

데이터프레임2

[pandas] 데이터프레임이 먹고있는 메모리 확인하기(Out Of Memory 디버깅의 시작이 아닐까?) 간혹 빅데이터를 다루다 보면, 기기의 메모리를 먹느라 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 내의 열.. 2021. 8. 18.
특정 문자가 들어간 데이터프레임 열 이름 검색하기: df.filter() 나는 개발을 배운지 얼마되지 않아서, df로 표현될 수 있다면, 데이터프레임의 형태로 데이터를 다루는 것을 선호한다 (2D MATRIX의 강력함!) 그런데, 데이터 프레임이 점점 커지다보면, 열의 이름과 행의 위치를 정확히 기억할 수 없다. 이럴 때에는 데이터프레임 내의 열을 검색하는 메서드와 인덱싱하는 메서드가 크게 도움이 된다. import pandas as pd test = pd.DataFrame([ [1, 2, 3, 4], [5, 6, 7, 8] ] ) test.columns = ['a_a', 'b_b', 'c_a', 'd_b'] 요렇게 샘플로 데이터프레임을 만들어 보았다. 이제 여기서 '_a'가 들어간 열을 추출해보자 test.filter(regex='_a') 이렇게, DataFrame.filt.. 2020. 9. 3.