2016-08-16 4 views
1

하나 dataframe를 만들 dataframes의 목록을 병합 :내가 18 데이터 프레임의 목록을

dfList = [df1, df2, df3, df4, df5, df6.....df18] 

이 pd.merge와 함께 각각의 가입을 쉽게하도록 데이터 프레임의 모든 공통 ID 열이 2 명씩 dfList가 단일 데이터 프레임으로 돌아 오도록 한꺼번에 결합 할 수있는 방법이 있습니까?

+0

당신이 반복 옵션을 정교하게 수 있을까? 나는 – Josh

답변

3

나는 당신이 concat 필요가 있다고 생각하지만, 첫 번째 공통 열을 기준으로 각 DataFrame의 인덱스를 설정합니다

dfs = [df.set_index('id') for df in dfList] 
print pd.concat(dfs, axis=1) 

merge으로 가입해야하는 경우 :

df = reduce(lambda df1,df2: pd.merge(df1,df2,on='id'), dfList) 
+0

의'pd.concat (dfList, axis = 1)'을 찾겠지만, 모든 df는 자신의 줄을 가지고있다. (그래서 모든 ID는 18 번 반복되었다.) – Josh

관련 문제