首页 > 解决方案 > 选择与另一个数据框中的列匹配的行

问题描述

我有 2 个数据框 df_Participants 和 df_Movements ,我只想在df_Movements参与者打开时才保留行df_Participants

df_参与者:

         id                          
0    1053.0     
1    1052.0  
2    1049.0  

df_Movements

     id           participant                    
0    3902         1053                   
1    3901         1053                                  
611  2763          979                   
612  2762          979                   

预期成绩:

     id           participant                    
0    3902         1053                   
1    3901         1053   

到目前为止我所尝试的:

remove_incomplete_submissions = True
if remove_incomplete_submissions:

    df_Movements = df_Movements.loc[df_Movements['participant'].isin(df_Participants['id'])]

当我检查唯一参与者的数量时,它不匹配。我知道这很简单,但我似乎没有注意到这里的问题。

标签: pythonpandas

解决方案


您可以使用合并:

new_df = df_Participants.merge(df_Movements, how='left', left_on='id', right_on='participant')

推荐阅读