GNM*_*O11 2 python merge pandas
我有两个数据框df1
和df2
. df1
包含列subject_id
和time
且df2
包含列subject_id
和final_time
。我想要做的是为每个subject_id
indf1
添加一列,其中包含 final_time
fromdf2
但仅来自于subject_ids
中包含的df1
。我已经尝试过df1.merge(df2,how='left')
,但仍然得到了所有更长subject_id
的df2
并且包含许多重复的“subject_id”。
我正在寻找的示例:
df1
subject_id time
0 15 12:00
1 20 12:05
2 21 12:10
3 25 12:00
df2
subject_id final_time
0 15 12:30
1 15 12:30
2 15 12:30
3 20 12:45
4 20 12:45
5 21 12:50
6 25 1:00
7 25 1:00
8 25 1:00
Run Code Online (Sandbox Code Playgroud)
我在寻找什么
subject_id time final_time
0 15 12:00 12:30
1 20 12:05 12:45
2 21 12:10 12:50
3 25 12:00 1:00
Run Code Online (Sandbox Code Playgroud)
小智 6
你应该使用
df1.merge(df2, on='subject_id')
Run Code Online (Sandbox Code Playgroud)
默认值为how
“inner”,它仅匹配两列中的条目。on
告诉合并仅匹配您感兴趣的列