[파이썬][Numpy] 데이터를 청크(chunk)로 나누어 처리하는 방법

큰 데이터 세트를 처리할 때 메모리 부하를 줄이기 위해 데이터를 청크(chunk)로 나누어 처리하는 방법은 유용합니다. 이를 통해 데이터를 작은 덩어리로 나누어 처리하고, 메모리 사용량을 최적화하면서 원하는 작업을 수행할 수 있습니다. 아래는 데이터를 청크로 나누어 처리하는 일반적인 방법입니다.

import pandas as pd

# 대용량 데이터 로드 (예: 큰 CSV 파일)
chunk_size = 1000  # 각 청크의 크기
csv_file = 'large_dataset.csv'

# 데이터를 청크로 나누어 처리
chunk_list = []  # 처리한 결과를 저장할 빈 리스트
for chunk in pd.read_csv(csv_file, chunksize=chunk_size):
    # 각 청크에 대한 데이터 처리
    processed_chunk = chunk  # 예: 데이터 처리 함수 호출
    chunk_list.append(processed_chunk)

# 각 청크 결과를 병합
result_df = pd.concat(chunk_list, axis=0)

# 결과 데이터프레임으로 계속 작업 수행

위의 코드에서 pd.read_csv() 함수는 CSV 파일을 청크로 나누어 읽고, 각 청크에 대한 데이터 처리를 수행한 후, pd.concat() 함수를 사용하여 모든 청크의 결과를 하나의 데이터프레임으로 병합합니다.

이와 유사한 방법으로 Numpy 배열, 텍스트 파일 또는 다른 데이터 형식을 처리할 수 있습니다. 청크로 데이터를 나누면 메모리 사용량을 최소화하면서 대용량 데이터를 처리할 수 있습니다. 처리 작업은 각 청크에 대해 병렬로 수행할 수 있으므로 처리 속도도 향상됩니다.