![]() |
1
2
通过分析可以证明这不是最快的,但是…
我是
猜测
允许python使用内置的
|
![]() |
2
2
这工作:
我不知道它是否比你的快,因为你还没有发布你的代码。
我试着在Tally中避免再次存储所有的值,只需累加和,然后在最后计算平均值。通常,python程序的时间瓶颈在内存分配器中,使用较少的内存可以大大提高速度。 |
![]() |
3
1
说明:
|
![]() |
4
0
您的瓶颈可能是由于过度使用内存造成的。考虑使用iteritems来利用发电机的功率。 因为你说你的数据是稀疏的,这可能不是最有效的。考虑迭代器的这种替代用法:
这里,总计、长度和平均值是您创建的唯一数据结构。这应该是相当快的,因为它避免了创建辅助列表,并且每个字典包含的每个键只循环一次。 下面是第二种方法,我怀疑它会比第一种方法在性能上有所改进,但理论上它可以,这取决于您的数据和机器,因为它将需要更少的内存分配:
对于每个键,您确实会循环遍历所有字典两次,但除了键集之外,不需要任何中间数据结构。 |
![]() |
5
0
scipy.sparse
支持稀疏矩阵
|
![]() |
6
0
这很简单,但可以做到:
我不知道它与你的方法相比,因为你没有发布任何代码。 |