【问题标题】:How to use merge two columns in pandas so that result should have the same number of rows?如何在熊猫中使用合并两列以使结果具有相同的行数?
【发布时间】:2021-05-02 21:57:34
【问题描述】:

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

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 . 我不明白为什么。你能告诉我,问题是什么吗? 任何帮助将不胜感激。 非常感谢

【问题讨论】:

  • 您的df2 中是否有重复的 ID 值?

标签: python pandas join merge


【解决方案1】:

正确的做法是这样的:

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

【讨论】:

    猜你喜欢
    • 2021-11-16
    • 2019-01-21
    • 2021-05-28
    • 2020-11-27
    • 1970-01-01
    • 2021-12-30
    • 2016-08-12
    • 2018-07-17
    • 1970-01-01
    相关资源
    最近更新 更多