2017-04-16 4 views
2

Ich bin wirklich neu mit Python. Ich muss Folgendes erreichen.Wie akkumulieren/sammeln/Summenliste - Python

Ich habe eine Liste

[ 
    ['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> 
] 

Linienstruktur ist

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

ich die Werte so akkumulieren müssen:

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

Bitte um Hilfe!
Dank

+0

Der beste Weg, um Ihr Problem zu nähern, ist die Liste in eine 'pandas' Datenrahmen zu konvertieren und dann 'groupby ([" ID "," DATE "," Stunde "]). cum()'. Ich überlasse Ihnen die Implementierungsdetails. – DyZ

+0

Hey @Elmer, wenn meine Antwort Ihre Frage beantwortet, können Sie bitte das Häkchen neben meiner Antwort markieren! – qbzenker

Antwort

1

Versuchen ein pandas dataframe mit:

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()) 

Welche dieser Ausgabe geben:

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

Ausgezeichnetes @qbzenker, vielen Dank !! Problem gelöst –

+0

Großartig! Froh das zu hören! – qbzenker