여러 CSV 파일을 통합 DataFrame으로 효율적으로 결합하는 간결하고 안정적인 솔루션 추구됩니다. 그러나 연결 루프 내에서 장애물이 발생했습니다.
문제를 해결하고 CSV 파일을 성공적으로 연결하려면 다음과 같은 포괄적인 코드 조각을 사용할 수 있습니다.
import os import pandas as pd from pathlib import Path path = r'C:\DRO\DCL_rawdata_files' all_files = Path(path).glob('*.csv') df = pd.concat((pd.read_csv(f) for f in all_files), ignore_index=True)
이 코드는 생성기 표현식을 활용하여 각 CSV 파일을 개별적으로 읽은 다음 이를 단일 DataFrame으로 연결합니다. ignore_index 매개변수는 연결된 DataFrame에 연속 행 인덱스가 있는지 확인합니다.
특정 시나리오에서는 소스를 나타내는 연결된 DataFrame에 열을 추가하는 것이 도움이 될 수 있습니다. 각 행의 파일. 이는 다음 접근 방식 중 하나를 사용하여 달성할 수 있습니다.
옵션 1: 파일 이름을 새 열로 추가
dfs = [] for f in all_files: data = pd.read_csv(f) data['file'] = f.stem dfs.append(data) df = pd.concat(dfs, ignore_index=True)
옵션 2: 일반 파일 추가 새 컬럼으로 소스
dfs = [] for i, f in enumerate(all_files): data = pd.read_csv(f) data['file'] = f'File {i}' dfs.append(data) df = pd.concat(dfs, ignore_index=True)
옵션 3: List Comprehension을 사용하여 파일 소스 추가
dfs = [pd.read_csv(f) for f in all_files] df = pd.concat(dfs, ignore_index=True) df['Source'] = np.repeat([f'S{i}' for i in range(len(dfs))], [len(df) for df in dfs])
옵션 4: .sign()을 사용한 단일 라인 솔루션
df = pd.concat((pd.read_csv(f).assign(filename=f.stem) for f in all_files), ignore_index=True)
구현 이러한 옵션 중 연결된 DataFrame에는 각 행의 출처를 추적하는 정보가 주석으로 추가됩니다.
위 내용은 여러 CSV 파일을 단일 Pandas DataFrame으로 효율적으로 연결하고 데이터 출처를 추적하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!