2016-11-16 71 views
1

这里是我的数据框:枢转/重塑一个数据帧有日期为列

 ID  AMT   DATE 
0 1496846 54.76  2015-02-11 
1 1496846 195.00  2015-01-09 
2 1571558 11350.00  2015-04-30 
3 1498812 135.00  2014-07-11 
4 1498812 157.00  2014-08-04 
5 1498812 110.00  2014-09-23 
6 1498812 1428.00  2015-01-28 
7 1558450 4355.00  2015-01-26 
8 1858606 321.52  2015-03-27 
9 1849431 1046.81  2015-03-19 

我想使这个由时间序列数据的每个ID一个数据帧。也就是说,每个列名都是一个日期(排序),它的索引值为ID,值为与每个日期对应的AMT值。我能弄到做这样的事情

df.set_index("DATE").T

,但在这里我被困。

我也试过

df.pivot(index='ID', columns='DATE', values='AMT')

但是这给了我一个错误在具有重复条目(该ID S)。

我将它想象为转置DATE,然后通过独特的ID进行分组,并且将AMT溶解在下面。

回答

1

要使用pivot_table其中有一个处理重复索引的aggfunc参数。

df.pivot_table('AMT', 'DATE', 'ID', aggfunc='sum') 

enter image description here


你要选择如何处理复本。我把'sum'放在那里。它默认为'mean'