我有一个csv文件,有几千行,我试图解析。我想将行分组为5组,然后计算“值”列的平均值,并返回该组的最小值和最大值“值”以及发生最小值和最大值的结束时间。
Start Time,End Time,Value
12-4-2014 9:00,12-4-2014 10:00,3221.3
12-4-2014 10:00,12-4-2014 11:00,3233.5
12-4-2014 11:00,12-4-2014 12:00,3543.6
12-4-2014 12:00,12-4-2014 13:00,3711.5
12-4-2014 13:00,12-4-2014 14:00,3732.4
etc....
我想我必须为每组5创建一个字典,然后在该字典上运行一些统计数据?
答案 0 :(得分:1)
csv.reader
只是行上的迭代器,它将每行作为列表返回
您可以使用list(iterator)
您可以按如下方式对任何序列进行分组
step = 5
split_data = [data[i:i+step] for i in range(0,len(data),step)]
然后您可以遍历每个组
split_data = (data[i:i+step] for i in range(0,len(data),step))
#note i use an iterator comprehension this time since i dont want to loop over the stuff twice
for grouping in split_data:
analyze(grouping)