根据索引列表将列从一个Df追加到另一个-Pandas

时间:2019-02-22 17:52:03

标签: python-3.x pandas list

我有两个数据帧的索引列表。

对于df1

df1_ind_list = [2,4,6]

对于df2

df2_ind_list = [0,2,5]

这些是我的数据框df1

   Name     Net        Quantity  
0  Auto     1010       10
1  NaN      NaN        12
2  Rtal     4145       18
3  NaN      NaN        14
4  Indl     6223       16
5  NaN      7222       18
6  lkr      6584       13
7  trml     9854       45

我的df2

   Cust     COT         DHL  
0  plot     2020        10,12
1  nnjd     4645        18,14
2  pplr     5643        16,18
3  kkll     8755        89,20
4  hjot     8754        96,23
5  llrm     9855        16,65
6  pollr    8758        33,52

现在,我想根据索引列表将值从df1导入到df2中。输出应为

       Name     Net    Quantity   Cust   COT   DHL
    0  Auto     1010       10     NaN    NaN   NaN
    1  NaN      NaN        12     NaN    NaN   NaN
    2  Rtal     4145       18     plot   2020  10,12
    3  NaN      NaN        14     NaN    NaN   NaN
    4  Indl     6223       16     pplr   5643  16,18
    5  NaN      7222       18     NaN    NaN   NaN
    6  lkr      6584       13     llrm   9855  16,65
    7  trml     9854       45     NaN    NaN   NaN

是否有熊猫方法可以添加到索引中?我不知道该怎么做,任何帮助/想法都很棒。

1 个答案:

答案 0 :(得分:1)

您可以更改df2所需行的索引,然后合并两个数据框,

df1_ind_list = [2,4,6]

df2_ind_list = [0,2,5]

df2_to_merge = df2.loc[df2_ind_list, :]
df2_to_merge.index = df1_ind_list

pd.concat([df1, df2_to_merge], axis = 1)


    Name    Net     Quantity    Cust    COT     DHL
0   Auto    1010.0  10          NaN     NaN     NaN
1   NaN     NaN     12          NaN     NaN     NaN
2   Rtal    4145.0  18          plot    2020.0  10,12
3   NaN     NaN     14          NaN     NaN     NaN
4   Indl    6223.0  16          pplr    5643.0  16,18
5   NaN     7222.0  18          NaN     NaN     NaN
6   lkr     6584.0  13          llrm    9855.0  16,65
7   trml    9854.0  45          NaN     NaN     NaN