我正在使用python,並從CSV文件中讀出一列。我通過分組將它們保存在一個數組中。這個數組看起來像這樣:Python從第一個數組開始第二個數組
[1, 5, 10, 15, 7, 3]
我想創建第二個數組,其中我把該數組的數量,並與以前的值的總和。因此,在這種情況下,我想有以下的輸出:
[1, 6, 16, 31, 38, 41]
我的代碼如下:
import csv
import itertools
with open("c:/test", 'rb') as f:
reader = csv.reader(f, delimiter=';')
data1 = []
data2 = []
for column in reader:
data1.append(column[2])
results = data1
results = [int(i) for i in results]
results = [len(list(v)) for _, v in itertools.groupby(results)]
print results
data2.append(results[0])
data2.append(results[0]+results[1])
data2.append(results[0]+results[1]+results[2])
print data2
所以我可以做手工製作的陣列,但是這要花很多的時間,可能不是最好的辦法。那麼做這樣的事情最好的方法是什麼?
的可能的複製[如何找到號碼的列表中的累積和?(HTTP://計算器.com/questions/15889131/how-to-find-the-cumulative-sum-of-numbers-in-a-list) – mkrieger1