熊猫-如何通过匹配索引值将列添加到数据框?

时间:2020-01-26 17:09:39

标签: python pandas dataframe

我试图将一列附加到我的数据框中,但并非完全如此,因为我要附加到的数据框中的行索引是乱序的。

我的数据框看起来像这样(虽然不是那么简单):


    |---------|
    | Country | 
----|---------|
  1 |    A    |   
----|---------|
  2 |    A    |     
----|---------|
  5 |    B    | 
----|---------|
  6 |    B    | 
----|---------|
  3 |    C    |
----|---------|
  4 |    C    | 
----|---------|

我要附加的列看起来像这样:

    |---------|
    | Business| 
----|---------|
  1 |    1    |   
----|---------|
  2 |    2    |   
----|---------|
  3 |    1    |     
----|---------|
  4 |    2    |     
----|---------|
  5 |    1    |   
----|---------|
  6 |    2    |     
----|---------|

我正在尝试获得如下所示的结果:

    |---------|----------|
    | Country | Business | 
----|---------|----------|
  1 |    A    |     1    |
----|---------|----------|
  2 |    A    |     2    |
----|---------|----------|
  5 |    B    |     1    |
----|---------|----------|
  6 |    B    |     2    |
----|---------|----------|
  3 |    C    |     1    |
----|---------|----------|
  4 |    C    |     2    |
----|---------|----------|

尽管索引在添加后按其正确顺序排列也很好。

我应该如何使用pandas库解决此问题?我已经尝试过pandas.merge(),但是由于我没有带有行索引的实际列,因此我不确定该如何匹配。

对不起,如果您之前曾问过这个问题!感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您可以尝试以下操作:

df_merged = df1.merge(df2, how='outer', left_index=True, right_index=True)