我有仅包含所有商品名称的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
我已经很努力地尝试将其附加为,结果也会类似,但是它使用截止日期列,就像添加的另一列不作为行名一样。
答案 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