【问题标题】:Merging dataframes by column values in two columns按两列中的列值合并数据框
【发布时间】:2018-10-08 16:10:43
【问题描述】:

我有两个数据框,df1 和 df2:

df1 = pandas.DataFrame({'w':['a','b','c'], 'x':['d','e','f']})


df2 = pandas.DataFrame({'w':['b','a','g','c'], 'x':['h','d','i','f'],'y':['j','k','l','m'],'z':['n','o','p','q']})

In [106]: df1
Out[106]: 
   w  x
0  a  d
1  b  e
2  c  f

In[107]: df2
Out[107]: 
   w  x  y  z
0  b  h  j  n
1  a  d  k  o
2  g  i  l  p
3  c  f  m  q

两个数据框都有相同的 df1 和 df2 列。我需要将 df2 上的列 'y' 和 'z' 添加到 df1 中,以使列 'w' 和 'x' 中的值相同。

最终结果是:

  w  x  y  z
0 a  d  k  o
1 c  f  m  q

【问题讨论】:

  • df2wx 中分别没有be。你能在你的最终结果中解释它们的价值吗?
  • 对不起,我已经编辑了我的原始帖子。
  • 如果我理解正确,df1.merge(df2) 会得到你想要的输出
  • @sacul,这就是我的回答。仍然被否决。 :(
  • 公平地说,当您的结果与预期结果不符时,您被否决了,然后编辑了问题。

标签: python pandas dataframe merge


【解决方案1】:

您可以使用 .merge()

df1.merge(df2)

输出:

    w   x   y   z
0   a   d   k   o
1   c   f   m   q

【讨论】:

    猜你喜欢
    • 2018-10-16
    • 1970-01-01
    • 2023-01-13
    • 1970-01-01
    • 2015-07-08
    • 2012-10-07
    • 2019-05-01
    • 1970-01-01
    • 2021-07-22
    相关资源
    最近更新 更多