"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Pandas에서 대용량 DataFrame을 효율적으로 처리하는 방법: 청크업!

Pandas에서 대용량 DataFrame을 효율적으로 처리하는 방법: 청크업!

2024-11-08에 게시됨
검색:760

How to Efficiently Process Large DataFrames in Pandas: Chunk It Up!

Pandas - 대용량 데이터 프레임을 청크로 분할

대용량 데이터 프레임을 처리하려고 할 때 흔히 발생하는 장애물은 무서운 메모리 오류입니다. 효과적인 솔루션 중 하나는 데이터프레임을 더 작고 관리 가능한 덩어리로 나누는 것입니다. 이 전략은 메모리 소비를 줄일 뿐만 아니라 효율적인 처리를 촉진합니다.

이를 달성하기 위해 목록 이해 또는 NumPy array_split 함수를 활용할 수 있습니다.

목록 이해

n = 200000  # Chunk row size
list_df = [df[i:i n] for i in range(0, df.shape[0], n)]

NumPy array_split

list_df = np.array_split(df, math.ceil(len(df) / n))

개별 청크를 검색할 수 있습니다. 사용:

list_df[0]
list_df[1]
...

청크를 단일 데이터프레임으로 재조립하려면 pd.concat:

# Example: Concatenating by chunks
rejoined_df = pd.concat(list_df)

AcctName별로 슬라이싱

AcctName 값으로 데이터 프레임을 분할하려면 다음과 같이 groupby 메서드를 사용합니다.

list_df = []

for n, g in df.groupby('AcctName'):
    list_df.append(g)
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3