2016-09-06 5 views
2

팬더 데이터 프레임에 새 열 (사실 2 열)을 설정하려고합니다. 데이터는 다른 데이터 프레임에서옵니다.다른 데이터 프레임을 기반으로 pandas 데이터 프레임에 새 열을 추가하십시오.

나는 다음과 같은 두 가지 dataframes (원래 dataframes이 훨씬 더 큰 그들은이 목적을 위해 예입니다입니다) 한 :

In [116]: df0 
Out[116]:  
    A B C 
0 0 1 0 
1 2 3 2 
2 4 5 4 
3 5 5 5 


In [118]: df1 
Out[118]: 
    A D E 
0 2 7 2 
1 6 5 5 
2 4 3 2 
3 0 1 0 
4 5 4 6 
5 0 1 0 

그리고 나는 새로운 dataframe을 갖고 싶어 (DF0하거나 추가, 무엇이든) 로 : 보시

df2: 
    A B C D E 
0 0 1 0 1 0 
1 2 3 2 7 2 
2 4 5 4 3 2 
3 5 5 5 4 6 

가 생성 dataframe DF1에 존재하지만 DF0에 A = 6 행이 존재하지 않는다. 또한 A = 0 인 행은 df1에 복제되지만 결과 df2에는 복제되지 않습니다.

실은 선택 방법에 문제가 있습니다. 나는이 수행 할 수

df1.loc[df1['A'].isin(df0['A'])] 

을하지만 (중복 데이터를 포함 할 수 DF1 기억) 고유의 데이터를 유지하는 부분을 적용하는 방법을 잘 모르겠어요과 DF2 데이터 세트에 두 개의 열을 추가 (또는 추가 ~ df0). 여기를 검색했는데 groupby 또는지도와 같은 것을 적용하는 방법을 모르겠습니다.

아이디어가 있으십니까?

감사합니다.

답변

2

이다 merge의 기본 애플리케이션 (docs)

import pandas as pd 
df2 = pd.merge(df0,df1, left_index=True, right_index=True) 
+0

I 그것이되어야 추측'pd.merge (DF0, DF1 = ON [ 'A'])' – MaxU

관련 문제