【问题标题】:Merge dataframes on same row合并同一行的数据框
【发布时间】:2020-11-13 06:20:57
【问题描述】:

我有一个 python 代码,它从数据帧 (df1) 获取链接,从网站收集数据并在新数据帧中返回输出

df1:

id   Name      link             Country        Continent  
1    Company1  www.link1.com    France         Europe
2    Company2  www.link2.com    France         Europe
3    Company3  www.Link3.com    France         Europe

代码的输出是 df2:

link           numberOfPPL      City  
www.link1.com       8            Paris
www.link1.com       9            Paris
www.link2.com       15           Paris
www.link2.com       1            Paris

我想将这 2 个数据帧合并为一个 (dfinal)。我的代码:

dfinal = df1.append(df2, ignore_index=True)

我得到了 dfinal:

    link           numberOfPPL      City       id   Name     Country  Continent
   www.link1.com       8            Paris
   www.link1.com       9            Paris
   www.link2.com       15           Paris
   www.link2.com       1            Paris
   www.link1.com                               1    Company1  France   Continent
   ..
   ..

我希望我的最终数据框是这样的

    link           numberOfPPL      City       id   Name     Country  Continent
   www.link1.com       8            Paris      1    Company1  France  Europe
   www.link1.com       9            Paris      1    Company1  France  Europe
   www.link2.com       15           Paris      1    Company1  France  Europe
   www.link2.com       1            Paris      2    Company2  France  Europe

有人可以帮忙吗??

【问题讨论】:

  • 使用合并而不是追加
  • 最终数据帧背后的逻辑?为什么id 1 三次,id 2 一次,为什么id 3 被排除在外?

标签: python pandas dataframe web-scraping


【解决方案1】:

您可以在“链接”上合并两个数据框:

outputDF = df2.merge(df1, how='left', on=['link'])

【讨论】:

    猜你喜欢
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 2021-10-11
    • 2022-12-08
    • 1970-01-01
    • 2021-09-02
    • 2016-02-04
    相关资源
    最近更新 更多