我每天的交易數據的格式如下列表:轉型的交易,以numpy的陣列
人,itemCode,transDate,量
我想用的人,itemCode總結量柱將我的結果轉換爲一個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
你是不是與'numpy'結合?我發現['pandas'](http://pandas.pydata.org)對於這種類型的總和操作更爲方便。 – DSM
請顯示您到目前爲止所嘗試的內容以及效率不夠高。請注意,如果您有一個1.5 GB的txt文件,它並不是一個非常大的數據量,所以即使是一個不理想的解決方案也能在合理的時間內運行。 – leeladam
是的,去大熊貓或把它扔進一個數據庫,並使用一些老式的SQL – YXD