关于如何进行这种类型的转换,有很多建议,但是我可以这样做,但是无法保留原始的数据帧结构。我相信我即将解决这个问题...
我的数据如下:
user date flag value
0 ron 12/21/2021 home 0
1 ron 12/21/2016 office 2
2 ron 12/22/2016 diner 10
3 april 12/21/2016 office 5
4 april 12/23/2016 home 6
5 andy 12/23/2016 diner 1
我想按用户和日期分组,然后将flag + value转换为自己的列,如下所示:
user date home office diner
0 ron 12/21/2021 0 0 0
1 ron 12/21/2016 0 2 0
2 ron 12/22/2016 0 0 10
3 april 12/21/2016 0 5 0
4 april 12/23/2016 6 0 0
5 andy 12/23/2016 0 0 1
如果没有值,则0也可以是nans,那很好。我使用了以下代码:
sample = sample.groupby(['user','date','flag'])['value'].first().unstack()
哪个可以正常工作,但是将用户和日期压缩到索引中就像这样:
Index
('ron','12/23/2016')
在执行此转换时如何维护原始数据帧?