Python:如何合并两个不同大小的数据框? [复制]

Posted

技术标签:

【中文标题】Python:如何合并两个不同大小的数据框? [复制]【英文标题】:Python: how to merge two dataframes with different size? [duplicate] 【发布时间】:2018-08-21 13:57:34 【问题描述】:

我有两个数据框,dfdf1。第一个包含有关数据集所有可能组合的所有信息,而第二个只是没有信息的子集。

df

x   y   distance    
0   1      4
0   2      3
0   3      2
1   2      2
1   3      5
2   3      1

df1

x   y       
1   3      
2   3      
2   3      

我想合并 dfdf1 以获得以下内容:

df1

x   y   distance    
1   3      5
2   3      1
2   3      1

【问题讨论】:

@RexLow 虽然略有不同,但这里的索引不必匹配,但 x,y 列匹配。 【参考方案1】:

可以使用合并命令

df.merge(df1, left_on=['x','y'], right_on=['x','y'], how='right')

在这里,您将xy 列作为合并条件,将左侧的df 与右侧的df1 合并,并仅保留右侧数据框中存在的行。

您可以阅读更多关于合并和加入数据框here。

【讨论】:

不是 OP,而是遇到了同样的问题。您愿意解释一下为什么需要包含right_on=['x','y'] 吗?谢谢。 @BowenLiu 也许这可能会有所帮助:***.com/questions/53645882/pandas-merging-101

以上是关于Python:如何合并两个不同大小的数据框? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

将两个不同大小的数据框合二为一

Python合并两个具有不同日期时间的数据框[重复]

如何合并/连接两个不同长度的熊猫数据框?

如何将两个数据框合并在一起?

如何匹配和合并两个具有完全不同值的数据框,数据框列中的数字除外?

在 Pandas/Python 中合并两个数据框,保留数据框 1 中的所有列