冷凝CSV文件较大所以CSV文件,我用外表那样工作:排序/按多列
Date Time, SegmentID, indicatorvalue
2016-12-01T00:00:00Z 147649 1
2016-12-01T00:01:00Z 147649 0
2016-12-01T00:02:00Z 147649 1
... ... ...
2016-12-01T00:23:00Z 2938733 0
等。
我想要的是将其缩小到所有细分的列表中,然后该细分的多少条目具有指标值的百分比(按AM/IP/PM/OP )
如:
segmentID, Time Period, Percentage
147649 AM 78
147649 IP 100
147649 PM 60
147649 OP 30
243546 AM 79
243546 IP 98
... ... ...
我的尝试是建立一个for循环,使每个段将保持运行总指标百分比为一天的4倍,那么一旦它有检测到它已更改为新的segmentID,它会将这些值附加到字符串。
问题是,segmentIDs是无序的,导致同一个segmentID有多个条目。我试着按SegmentID排序文件,但文件太大了。有关替代方法的任何建议?
编辑: 有人谁删除了自己的评论贴,我应该用熊猫,所以经过一些调查,我的代码是目前:
import numpy as np
import pandas as pd
df=pd.read_csv("data.csv",sep=",",index_col="Segment ID",usecols=["Segment ID","Date Time","indicatorvalue"])
df['Date Time'] = ['AM' if '06' <= x[11:13] < '10'
else 'IP' if '10' <= x[11:13] < '16'
else 'PM' if '16' <= x[11:13] < '19'
else 'OP' if '19' <= x[11:13] or x[11:13] < '06'
else 'Error' for x in df['Date Time']]
现在我只需要找出如何与凝结行'Date Time'和'SegmentID'的重复条目,同时平均他们的'指标值'。
质量如此之大? –
约3.5GB,不知道有多少行,但以百万计 –
有多少内存可用,以及预计有多少段? –