2
我有大約6000個json.gz文件總計24GB,我需要做各種計算。 因爲我不知道我將從每個JSON文件中選擇的行數(因爲我會拒絕一些行中包含無效數據),所以我估計每個JSON的最大行數爲2000
。從Memmapped數組中刪除空白行
我創建了一個Memmapped numpy的與陣列形狀(6000*2000,10)
並解析來自json.gz
數據到Memmapped numpy的[總大小= 2.5GB]
在它原來的端,由於高估的,最後的10- 15%的行都是零。現在,由於我的計算性質,我需要從Memmapped numpy中刪除這些無效行。優先級當然是時間之後內存。
什麼可能是最好的方法來做到這一點? 我在編程上意識到要刪除的行的確切索引。
- 用正確的形狀和大小創建另一個Memmaped陣列,將原始數組切片到此處。
- 使用
delete()
功能 - 使用屏蔽
- 別的東西嗎?
你能加載到正常NumPy的陣列從一開始就正確的長度,使用np.fromiter(HTTP ://docs.scipy.org/doc/numpy/reference/generated/numpy.fromiter.html)? – 2014-08-29 11:02:26