2014-02-25 5 views
0

두 개의 서로 다른 데이터 프레임이 있습니다. 하나는 다른 데이터 프레임의 확장 버전입니다. (1) 어떻게 두 데이터 프레임이 같은 이름을 공유하는지에 기초하여 효율적으로 두 데이터를 결합합니까? (2) 또한 각 줄에 4 개의 공백을 입력하지 않고도 stackoverflow 상자에 코드 용으로 4 개의 공백을 추가하는 방법이 있습니까? 시간 낭비 일 수 있습니다.서로 다른 길이의 데이터 프레임 결합

자세한 내용은

하나는 값 (sortedregsubjdf)의 여러 명부와 전체 dataframe이다.

sortedcentralitydf라는

Name Organization Year Centrality 
6363 (Buz) Business And Commerce  doclist[524] 2012 0.503677 
8383 (Buz) Business And Commerce  doclist[697] 2012 0.503677 
1170 (Buz) Business And Commerce  doclist[103] 2012 0.503677 
1579 (Eco) Economics News doclist[140] 2013 0.500624 
10979 (Gop) Provincial Government News doclist[941] 2013 0.5
4374 (Gop) Provincial Government News doclist[368] 2013 0.5
10988 (Npt) Not-For-Profits doclist[942] 2013 0.498810 

sortedregsubjdf (비즈니스 및 상업 sortedcentralitiesdf 포함 된 이후 한 번만 나타납니다 - (이 네트워크 centralities의 dataframe이기 때문에) 다른 하나는 다른 dataframe의 고유 한 값을 포함 sortedregsubjdf 여러 값이 고유 한 값)

Name Centrality 
316  (Buz) Business And Commerce  0.503677 
448  (Eco) Economics News 0.500624 
499  (Gop) Provincial Government News 0.5
366  (Npt) Not-For-Profits 0.498810 
217  (Pdt) New Products And Services  0.504600 

이 두 dataf을 결합하는 내 코드했다 하지만 더 효율적인 방법이 있다면 궁금해하던가요?

for i, val in enumerate(sortedcentralitydf.Name): 
    for x, xval in enumerate(sortedregsubjdf.Name): 
     if val == xval: 
     #print val, xval 
      sortedregsubjdf.Centrality[sortedregsubjdf.Name == xval] = sortedcentralitydf.Centrality[sortedcentralitydf.Name == val].iloc[0] 
+1

코드 서식 지정에 사용할 수있는 코드 샘플 기호'{}'이 있습니다. 또한 수락 된 답변이없는 많은 질문이있는 것처럼 보입니다. 답변을 수락하는 것은 당신을 도우려는 사람에게 감사의 말을하고 미래의 독자에게 해결책이 효과적으로 문제를 해결했음을 나타내는 것입니다. – ChrisP

+0

크리스. stackoverflow를 처음 사용합니다. 방금 답변을 수락했습니다. – user3314418

답변

2

팬더는 merge 기능을 가지고 있습니다. 이게 작동하는 것처럼 들리네. ...

import pandas as pd 
merged_df = pd.merge(sortedregsubjdf, sortedcentralitiesdf, on='Name') 
+0

이것은 굉장합니다. 나는 그것이 매우 간단해서 기쁘다. – user3314418

관련 문제