2016-07-07 2 views
0

나는 2 개의 데이터 프레임을 가지고 있으며 첫 번째 파일에는 많은 데이터가 있고 두 번째 파일에는 두 번째 파일에 내가 원하는 것의 iD 목록이 있습니다. 첫 번째 파일.팬더를 사용하여 다른 df의 데이터를 병합하는 방법

나는

merged = pd.merge(buys, chunk, left_on='id', right_on='ID') 

를 사용하는 경우 chunk - 첫 번째 (큰) 파일의 일부. 그리고 buys - 목록이 id 인 파일. 출력 파일에 ID이 있는데, 그 파일은 buys이 아닙니다. 내가 뭘 잘못 했니?

buys :

id 
7602962fb83ac2e2a0cb44158ca88464 
bc8a731e4c7e6f6b96e56ebe7f766bcd 
a703114aa8a03495c3e042647212fa63 
77138e9245857e5449e9474293e31e19 

chunk :

id date 
7602962fb83ac2e2a0cb44158ca88464 01.01.2016 
7602962fb83ac2e2a0cb44158ca88464 02.01.2016 
7602962fb83ac2e2a0cb44158ca88464 03.01.2016 
77138e9245857e5449e9474293e31e19 09.05.2016 
77138e9245857e5449e9474293e31e19 10.05.2016 
671cfd6702c74f017209c2f1a888c279 10.01.2016 
671cfd6702c74f017209c2f1a888c279 11.01.2016 
029cfd6702c68f243423c2f1a234c232 11.03.2016 

그리고 난 당신이 dataframes을 병합 할 그냥 buysid 선물을 유지

7602962fb83ac2e2a0cb44158ca88464 01.01.2016 
7602962fb83ac2e2a0cb44158ca88464 02.01.2016 
7602962fb83ac2e2a0cb44158ca88464 03.01.2016 
77138e9245857e5449e9474293e31e19 09.05.2016 
77138e9245857e5449e9474293e31e19 10.05.2016 
+1

샘플 데이터와 원하는 출력을 게시 할 수 있습니까? –

+0

@JoeR, 데이터 프레임 추가 – ldevyataykina

+0

'how = left'를'pd.merge'에 추가하십시오. – ytk

답변

0

IIUC을 얻을 필요 ? 그럼 당신은 CANN이 같은 merge 당신의 how 옵션을 건네이있는 경우 해당 날짜가 누락 된 경우 idchunk.ID에없는 그 buys 당신이 NaN을 얻을 것이다

merged = pd.merge(buys, chunk, left_on='id', right_on='ID', how = 'left') 

참고. 당신이 원하지 않는 경우, innerhow 옵션을 변경 :

merged = pd.merge(buys, chunk, left_on='id', right_on='ID', how = 'inner') 

이 방법 만 모두 dataframes에 존재하는 행을 얻을 것이다.

관련 문제