DataFrame 연결이 기하급수적으로 느림
대규모 데이터 세트로 작업할 때는 효율적인 처리를 위해 데이터를 더 작은 덩어리로 분할하는 것이 일반적입니다. 그러나 이러한 청크를 다시 연결하는 작업은 청크 수가 증가함에 따라 기하급수적으로 느려질 수 있습니다.
속도 저하 원인
속도 저하의 원인은 pd.concat() 구현됩니다. 루프 내에서 호출되면 각 연결에 대해 새 DataFrame이 생성되어 상당한 데이터 복사가 발생합니다. 이 복사 비용은 반복 횟수에 따라 2차적으로 증가하여 처리 시간이 기하급수적으로 증가합니다.
속도 저하 방지
이러한 성능 병목 현상을 피하려면 for 루프 내에서 pd.concat() 호출을 방지합니다. 대신 청크를 목록에 저장하고 처리 후 한 번에 모두 연결하십시오.
super_x = [] for i, df_chunk in enumerate(df_list): [x, y] = preprocess_data(df_chunk) super_x.append(x) super_x = pd.concat(super_x, axis=0)
이 접근 방식을 사용하면 복사가 한 번만 발생하므로 전체 처리 시간이 크게 단축됩니다.
위 내용은 많은 Pandas DataFrame을 연결하는 것이 기하급수적으로 느린 이유는 무엇이며 이를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!