作爲輸入,我每次都有一個包含時間和一堆數字的CSV文件。如何在python中按總數和平均值列?
Time,F1,F2,F3
8:11,5,2,4
9:25,9,8,2
9:39,7,3,2
9:53,6,5,1
10:07,4,6,7
10:21,7,3,1
10:35,5,6,7
11:49,1,2,1
12:03,3,3,1
我想輸出表經柱平均分組每個小時,總:
Time,SUM F1,SUM F2,SUM F3,AVG F1,AVG F2,AVG F3
8:00,5,2,4,5,2,4
9:00,22,16,5,7.3,5.3,1.6
10:00,16,15,15,5.3,5,5
11:00,1,2,1,1,2,1
12:00,3,3,1,3,3,1
到目前爲止,我一直在尋找一個字典,其中小時是關鍵和價值做是一個count和sum的列表,然後除以count得到平均值。 我確定必須有更乾淨的方式來做到這一點。也許有些圖書館可以用這個工作。有什麼建議麼?
您的方法很好。它也不是那麼多的代碼。追加(F1)和setdefault(小時,[]),追加(F2)和setdefault(小時,[])追加(F3)。然後,對於每個字典,您每小時迭代一次,然後在列表中調用'sum'並按count(list)進行劃分,同時注意處理列表爲空時發生的情況。 –
'Pandas'是一個很好的圖書館這種數據處理:http://pandas.pydata.org/ – CoMartel