[Library] 여러 개의 csv 파일을 불러와서 하나의 데이터프레임으로 만들기
여러 개의 csv 파일들을 불러와서 하나의 데이터프레임 형태로 만들고 싶은 경우가 있습니다.
이때, 간단하게 아래와 같이 for 반복문과 Pandas의 concat, append 함수를 이용해서 원하는 바를 이룰 수 있습니다.
concat 함수를 이용하는 코드는 아래와 같습니다.
1
2
3
4
5
6
df_wanted = pd.DataFrame() # 빈 데이터프레임 생성
for PATH_FILE in list_file:
df_tmp = pd.read_csv(PATH_FILE) # 하나의 csv 파일 로드
df_wanted = pd.concat([df_wanted, df_tmp], axis = 0) # concat 함수 이용해서 데이터프레임 병합
append 함수를 이용하는 코드는 아래와 같습니다.
1
2
3
4
5
6
df_wanted = pd.DataFrame() # 빈 데이터프레임 생성
for PATH_FILE in list_file:
df_tmp = pd.read_csv(PATH_FILE) # 하나의 csv 파일 로드
df_wanted = df_wanted.append(df_tmp) # append 함수 이용해서 데이터프레임 병합
하지만 위와 같은 방식은 생성하는 데이터프레임의 행이 많을수록, csv 파일이 많을수록 시간이 오래 걸리게 됩니다.
아래와 같이 데이터프레임을 list에 담아두고 마지막에 병합하는 방법을 통해 해당 작업의 속도를 향상시킬 수 있습니다.
1
2
3
4
5
6
7
8
list_tmp = [] # 빈 리스트 생성
for PATH_FILE in list_file:
df_tmp = pd.read_csv(PATH_FILE) # 하나의 csv 파일 로드
list_tmp.append(df_tmp) # 매 반복마다 list에 데이터프레임을 적재
df_wanted = pd.concat(list_tmp)
This post is licensed under CC BY 4.0 by the author.