无需共用连接器即可合并2个数据帧

时间:2018-12-28 18:35:51

标签: python pandas

我有仅包含所有商品名称的df1和带有2列截止日期和商品的df2。我如何将它们组合在一起,这样将导致一个数据帧以到期日作为行名,并保留项目名。

df1看起来像这样

1  Index |   DueDate     

2.   0   |  1/1/2018   
3.   1   |  1/2/2018   
4.   2   |  1/2/2018      
5.   3   |  1/4/2018    
6.   4   |  1/5/2018   
7.   5   |  1/5/2018   

df2看起来

1.   Index   |   Item1   |   Item2   |   Item 3   |    Item 4   

,依此类推。我想将截止日期设置为df2的行名称,如下所示:

1. DueDate     Item1       |   Item2   |     Item3     |   Item4
2. 1/1/2018     
3. 1/2/2018
4. 1/3/2018
5. 1/4/2018
6. 1/5/2018

我已经很努力地尝试将其附加为,结果也会类似,但是它使用截止日期列,就像添加的另一列不作为行名一样。

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

# create a pivot
df = pd.crosstab(index=df1['DueDate'], columns=df1['items']).astype(str)

# replace all values with a blank
df = df.replace(regex=r'.*', value='')

items            item1      item3      item4         item4    
DueDate                                                       
1/1/2018                                                      
1/2/2018                                                      
1/4/2018                                                      
1/5/2018