提取在9000万行数据集上的搜索和执行统计

时间:2015-09-24 19:10:37

标签: python numpy pandas

我有一个9000万行多维列表

source, target, bayesscore, mean, sd
[['a','1',45.67,-18.34324,15.06]
['a','2',45.32,-18.2234,18.77]
['a','3',44.96,-18.3359,19.24]
['a','4',45.09,-18.13243,21.343]
['a','5',43.82,-18.73456,22.353]
['b','2',43.72,-16.43,11.02] and so on...]

我从数据库导入此列表,我的目标是预先计算每个源的值。

foreach源 - 目标对:

  • 计算z-score =(bayesscore-mean)/ sd
  • 计算neglogpval np.round(np.log10(1-stats.norm.cdf(x)))如果nan nl ='> 10',代表值。
  • 然后,我必须按最高贝叶斯分数过滤每个来源的前25个源 - 目标对,并将其写入文件。

我目前正在大熊猫中这样做,但它真的很慢。

  • 我目前一次处理200000个块(启发式选择值)
  • 将其存储在临时数据帧中,然后在块上执行groupby(source),将最后一个组添加到下一个块,依此类推。

您是否有任何关于如何更快地完成此过程的建议?

0 个答案:

没有答案