2017-04-13 1 views
1

J'ai deux dataframes, contenant jusqu'à top 3 chefs d'accusation pour différentes chaînes par une clé séparée (pour chaque touche peut contenir jusqu'à 3 chefs de chaîne):Inscrivez-vous sur dataframes en Python

DF1:

key var1 count 
0  abc  4 
0  lkj  2 
0  bcs  1 
1  zst  2 
1  stt  1 
1  sdf  1 
2  qwe  1 
3  dfg  8 
3  jkl  2 

DF2:

key var1 count 
1  abc  4 
2  bcs  1 
3  zst  1 
4  stt  3 
4  sdf  1 
4  qwe  1 
5  dfg  5 
5  jkl  4 
6  oiu  3 
7  hkj  1 

que je dois faire une jointure complète par la colonne de clé, de sorte que tous les chefs d'accusation seraient combinés par la clé. L'ensemble de données résultant devrait ressembler à ceci:

key var1 count key var2  count 
0  abc  4 
0  lkj  2 
0  bcs  1 
1  zst  2  1  abc  4 
1  stt  1 
1  sdf  1 
2  qwe  1  2  bcs  1 
3  dfg  8 
3  jkl  2 
         4  stt  3 
         4  sdf  1 
         4  qwe  1 
         5  dfg  5 
         5  jkl  4 
         6  oiu  3 
         7  hkj  1 

Qu'est-ce qu'une solution?

Répondre

0
df3 = pd.merge(df1.reset_index(), df2.reset_index(),on=['key'], how='outer').set_index(['key'])