程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Pandas: Merge by common column retaining all other columns and sort by common column [duplicate]

发布于2025-01-02 16:42     阅读(56)     评论(0)     点赞(6)     收藏(5)


I have two DataFrames, both of which have an x column and a y column. The x values are unique within each DataFrame, but there is some overlap between the two.

I want to merge the two DataFrames, keeping only the x values that appear in both DataFrames and copying the y values from each DataFrame into its own column (y_1 or y_2, depending on the source).

df1 = pd.DataFrame({'x': ['1', '2', '3', '4', '5', '6'],
                    'y': ['A', 'B', 'C', 'D', 'E', 'F']})

df2 = pd.DataFrame({'x': ['3', '4', '10', '2', '12', '6', '8', '9'],
                    'y': ['A', 'G', 'H', 'E', 'F', 'J', 'L', 'B']})

   x  y
0  1  A
1  2  B
2  3  C
3  4  D
4  5  E
5  6  F

    x  y
0   3  A
1   4  G
2  10  H
3   2  E
4  12  F
5   6  J
6   8  L
7   9  B

The result I want is:

   x y_1 y_2
0  3   A   C
1  4   G   D
2  2   E   B
3  6   J   F

解决方案


You can do it with pd.merge

pd.merge(df2, df1, on='x', how='inner', suffixes=('_1', '_2'))


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/2046691/2e2d5b85a5950b4070d5/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

6 0
收藏该文
已收藏

评论内容:(最多支持255个字符)