使用熊猫基于列ID合并两个不同维度的数据帧

时间:2019-05-07 01:34:59

标签: python

我有两个panda data.frames

df1

**Title** **ID**  
  Intro     A
   P1       B
   P2       C
  Concl     D

df2

**body** **likes** **ID**
  Hello      1       A
  Stack      2       A
 Overflow    3       A
  How's      4       B
   It        5       C
  Going      6       C
    ?        7       D

我想根据ID合并数据帧,并得到结果数据帧:

desired_df

**Title**  **ID**  **body**  **likes**
  Intro      A       Hello       1
  Intro      A       Stack       2
  Intro      A      Overflow     3
   P1        B       How's       4
   P2        C        It         5
   P2        C       Going       6
 Conclu      D        ?          7

列的顺序无关紧要(如果df2列在df1之前先被排序)。

这可能吗?我希望df1的“标题”列中的值重复进行,如所需数据框中所示

1 个答案:

答案 0 :(得分:2)

如何?

Nan

从您的示例中无法确定您是要执行内部联接还是外部联接。但是,您可以使用print(pandas.merge(df1, df2, on='ID', how='inner')) 参数来指定它。

文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.merge.html#pandas.merge