我有以下格式的每日事务数据列表:
人员,项目代码,转换日期,金额
我想按person和itemCode对amount列求和,并将结果转换为numpy数组。我要删除日期字段。我有1.5gb的数据,所以我能做的越有效越好。。。你知道吗
下面是一个小例子,说明我希望算法如何运行:
print input
A, 1, 2013-10-10, .5
A, 1, 2013-10-18, .75
A, 2, 2013-10-20, 2.5
B, 1, 2013-10-09, .25
B, 2, 2014-10-20, .8
myArray = transform(input)
print myArray
[[1.25,2.5],[.25,.8]]
任何关于如何有效地汇总这些记录的想法都将不胜感激!你知道吗
编辑:以下是我目前的代码:
from collections import defaultdict
dictObj = {}
rawData = 'subset.txt'
with open(rawData) as infile:
for line in infile:
parts = line.split(',')
key = (parts[0],parts[1])
val = float(parts[3])
if key in dictObj:
dictObj[key] += val
else:
dictObj[key] = val
print dictObj
正如@DSM所说,这个操作看起来像是^{} 的作业:
结果是^{} ,但如果要将其作为numpy数组获取,可以使用^{} 属性:
相关问题 更多 >
编程相关推荐