2016-11-16 67 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'