簡體   English   中英

Python csv按n行號分組行

[英]Python csv group rows by n row numbers

我有一個要解析的數千行的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個集合創建一個字典,然后在該字典上運行一些統計信息?

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM