2015-02-09 49 views
1

我有一個熊貓數據幀的對象,看起來是這樣的:大熊貓時間指數挑上數量最大/最後一個號碼給

'Thing 1':   Actual   Predicted  Error 
Date               
2014-09-15   140.00   0.000000 140.000000 
2014-09-15   358.03   127.738344 230.291656 
2014-09-16   373.04   326.672566 46.367434 
2014-09-17   427.99   340.367941 87.622059 
2014-09-18   484.87   390.505241 94.364759 
2014-09-18   488.22   442.403505 45.816495 
2014-09-18   491.57   445.460101 46.109899 
2014-09-29   553.37   448.516697 104.853303 
2014-09-29   1329.07   504.904052 824.165948 
2014-10-01   1200.00   1212.665718 12.665718 
2014-10-01   1289.78   1094.900089 194.879911 
2014-10-07   1314.78   1176.816864 137.963136 

我想刪除重複的條目在同一天,並選擇最高值給定的一天。換句話說,我想是這樣的:

'Thing 1':   Actual   Predicted  Error 
Date               
2014-09-15   358.03   127.738344 230.291656 
2014-09-16   373.04   326.672566 46.367434 
2014-09-17   427.99   340.367941 87.622059 
2014-09-18   491.57   445.460101 46.109899 
2014-09-29   1329.07   504.904052 824.165948 
2014-10-01   1289.78   1094.900089 194.879911 
2014-10-07   1314.78   1176.816864 137.963136 

從本質上講,由於數據框對象是如何創建的,我始終保持一個給定的一天中的最後一項,並丟棄任何人。

任何想法,我的心是完全從編碼的一天炒...

回答

1

可以使用group byaggAgg需要函數字典。由於各組的最高觀測是最後一個,你可以使用last功能:

df.groupby('Date').agg({'Actual':'last','Predicted':'last','Error':'last'}) 

這將返回:

   Actual  Predicted  Error 
Date   
2014-09-15  358.03  127.738344  230.291656 
2014-09-16  373.04  326.672566  46.367434 
2014-09-17  427.99  340.367941  87.622059 
2014-09-18  491.57  445.460101  46.109899 
2014-09-29  1329.07  504.904052  824.165948 
2014-10-01  1289.78  1094.900089  194.879911 
2014-10-07  1314.78  1176.816864  137.963136 
+0

非常感謝! – aacealo 2015-02-09 01:48:31