【问题标题】:Join dataframes by column values pandas按列值 Pandas 连接数据框
【发布时间】:2017-02-03 19:35:49
【问题描述】:

我有两个来自不同数据库的数据框 df1df2。数据框中的每个项目都由 id 标识。

df1 = pd.DataFrame({'id':[10,20,30,50,100,110],'cost':[100,0,300,570,400,140]})

df2 = pd.DataFrame({'id':[10,23,30,58,100,110],'name':['a','b','j','d','k','g']})

两个数据框中都有一些常见的产品,在这种情况下,ID 为:10,30,100,110。 我想将此信息合并到一个数据框中,如下所示:

df3 = pd.DataFrame({'id':[10,30,100,110],'name':['a','j','k','g'],'cost':[100,300,400,140]})

我试图用字典和嵌套循环来做这件事,但我处理了大量的数据,这样做只需要很长时间。

【问题讨论】:

    标签: python pandas dataframe merge inner-join


    【解决方案1】:

    我认为你可以使用merge,默认参数how='inner'被省略:

    print (pd.merge(df1,df2,on='id'))
       cost   id name
    0   100   10    a
    1   300   30    j
    2   400  100    k
    3   140  110    g
    

    【讨论】:

    • 我没有得到相同的结果。我更新了问题。
    • 它看起来像错字 - 双 df2 print (pd.merge(df2,df2,on='id'))
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2021-07-25
    • 2021-07-31
    • 2019-01-05
    • 1970-01-01
    • 2020-10-01
    相关资源
    最近更新 更多