2017-09-15 2 views
0

동일한 차원의 데이터 프레임이 세 개인 경우 하나의 데이터 프레임으로 연결해야합니다.pandas datafarme에서 concat 및 append

df1 = pd.DataFrame({'AD': ['CTA15', 'CTA15', 'AC007', 'AC007', 'AC007'], 
'FC': [0.5, 0.7, 0.7, 2.6, 2.9], 
'EX':['12', '13', '14', '15', '16'], 
't' : [2, 2, 3, 3, 3], 
'P' :[3,7,8,9,1]}) 
df2 = df1.copy() 
df3 = df1.copy() 
df = df1.append([df2, df3]) 

나는 추가하고 연결하려고했는데 둘 다 첫 번째 열이없는 데이터 프레임을 반환합니다. 내가 df1.set_index('col1') 등 DF2 및 DF3 위해를 사용하여 인덱스 모든 데이터 프레임의 첫 번째 열을 설정 한 경우이 내가 뭘하려 ,

pd.concat([df1,df2,df3]) and df1.append([df2,df3]) 

CONCAT 작동합니다. 그런 다음 pd.concat을 사용하면 그렇지 않습니다. 직접 해결책이 있다면 좋을 것입니다 고마워요

+0

'pd.concat ([df1, df2, df3], axis = 0)'? – Wen

+0

예, 도움이되지 않았습니다. 첫 번째 열을 모든 datafarmes의 인덱스로 설정 한 다음 pd.concat ([df1, df2, df3])을 수행 할 때 concat을 수행 할 수 있습니다. 그렇지 않은 경우 – user1017373

+0

첫 번째 열 이름이 같습니까? – Wen

답변

1

이게 당신이 찾고 있는게 있나요?

pd.concat([df1,df2,df3], ignore_index=True) 

     AD EX FC P t 
0 CTA15 12 0.5 3 2 
1 CTA15 13 0.7 7 2 
2 AC007 14 0.7 8 3 
3 AC007 15 2.6 9 3 
4 AC007 16 2.9 1 3 
5 CTA15 12 0.5 3 2 
6 CTA15 13 0.7 7 2 
7 AC007 14 0.7 8 3 
8 AC007 15 2.6 9 3 
9 AC007 16 2.9 1 3 
10 CTA15 12 0.5 3 2 
11 CTA15 13 0.7 7 2 
12 AC007 14 0.7 8 3 
13 AC007 15 2.6 9 3 
14 AC007 16 2.9 1 3