我正在使用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