我有2個資料框架df_Participants和df_Movements,我想保留df_Movements中的行,只有當df_Participants中的參與者是開的。
df_Participants:
id
0 1053.0
1 1052.0
2 1049.0
df_Movements
id participant
0 3902 1053
1 3901[/span> 1053[/span
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'])]。
當我檢查唯一參與者的數量時,它并不匹配。我知道這很簡單,但我似乎無法注意到這里的問題。
uj5u.com熱心網友回復:
你可以使用合并:
new_df = df_Participants.merge(df_Movements, how='left'/span>, left_on='id'/span>, right_on='participant'/span>)
uj5u.com熱心網友回復:
使用isin來創建一個布爾掩碼,并獲得符合條件的行:
>>> df_Movements[df_Movements['participant'].isin(df_Participants['id'])]
id participant
0 3902 1053
1 3901 1053
編輯:也是@Ben.T在評論中建議的
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/307675.html
標籤:
下一篇:僅查找Linux目錄的所有者
