我在python中有两个pandas数据帧,我想在公共列(例如id)上连接
第一个源数据帧是这样的
id | col
---------
1 | h1
2 | h2
3 | h3
3 | h33
3 | h333
4 | h4
6 | h6
目标数据帧为
id | col
---------
1 | h11
2 | h2
3 | h%
3 | h3
4 | h4
6 | h6
这里,具有id=3
的行有重复项。具有id=3
的源数据帧有三行,id=3
的目标数据帧有两行。我希望能够保留第一个公共行数(即两行),类似这样
id | col
---------
1 | h1 | h11
2 | h2 | h2
3 | h3 | h%
3 | h33 | h3
4 | h4 | h4
6 | h6 | h6
我尝试过简单的合并,比如熊猫
pd.concat(source_df , target_df, on="id")
我还能做些什么来实现这个逻辑吗?你知道吗
我认为应该使用merge()函数
您可以根据需要使用
merge
和left
或inner
进行分组,但在此之前,您应该按id分组,并为每个id组提供带有rank
的行号。你知道吗结果:
相关问题 更多 >
编程相关推荐