2017-04-16 48 views
2

我真的很新使用python。我需要實現以下。如何積累/收集/總結列表 - Python

我有一個列表

[ 
    ['1604201722','16/04/2017','22', 100.0, 10.0, 110.0],<br> 
    ['1604201722','16/04/2017','22', 100.0, 10.0, 110.0],<br> 
    ['1604201719','16/04/2017','19', 100.0, 10.0, 110.0]<br> 
] 

線結構是

['  ID ',' DATE ','Hour', CANT, CANT, CANT] 
['1604201722','16/04/2017','22' , 100.0,10.0, 110.0] 

我需要積累這樣的價值觀:

['1604201722','16/04/2017', '22' , 200.0, 20.0, 240.0] 
['1604201719','16/04/2017', '19' , 100.0, 10.0, 110.0] 

請幫幫忙!
感謝

+0

接近你的問題的最好辦法是轉換列表爲'pandas'數據幀和然後'groupby([「ID」,「DATE」,「小時」])。暨()'。我將實施細節留給您。 – DyZ

+0

嘿@Elmer,如果我的回答回答了您的問題,請您在我的答案旁邊打上覆選標記,請! – qbzenker

回答

1

嘗試使用pandas dataframe

import pandas as pd 
d = [ 
    ['1604201722','16/04/2017','22', 100.0, 10.0, 110.0], 
    ['1604201722','16/04/2017','22', 100.0, 10.0, 110.0], 
    ['1604201719','16/04/2017','19', 100.0, 10.0, 110.0] 
] 
df= pd.DataFrame(d,columns=['ID','DATE','HOUR','col1','col2','col3']) 
print(df.groupby(['ID','DATE','HOUR']).sum()) 

哪位能給這個輸出:

ID   DATE  HOUR col1 col2 col3     
1604201719 16/04/2017 19 100.0 10.0 110.0 
1604201722 16/04/2017 22 200.0 20.0 220.0 
+0

優秀的@qbzenker,非常感謝你!問題解決了 –

+0

太棒了!聽到那個消息很開心! – qbzenker