首页 > 解决方案 > 如何在熊猫中使用合并两列以使结果具有相同的行数?

问题描述

我有两个如下所示的数据框:

df1 :
   
    ID    name    product  
0   1     sara    t-shirt
1   2     john    jacket
.
.
.
200 8     karen   hoodie

number of rows: 200

df2 :

    ID        Mark
0   1         zara
1   3         h&m
.
.
.
35  8         nike

number of rows : 35

我想要做的是按列“ID”合并这两个数据框并拥有这行代码:

merge_ID = df1.merge(df2, on='ID', how='left')

预期输出的行数应该与我们在 df1 中的行数相同,即 200。我的代码的问题是输出的行数比 df1 多,例如 480 。我不明白为什么。你能告诉我,问题是什么吗?任何帮助将不胜感激。非常感谢

标签: pythonpandasjoinmerge

解决方案


正确的做法是这样的:

merge_ID = pd.merge(df1, df2, on='ID', how='left')

推荐阅读