2017-04-16 50 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