计算两个字典之间的点积数百万次

Posted

技术标签:

【中文标题】计算两个字典之间的点积数百万次【英文标题】:Calculate dot product between two dictionaries millions of times 【发布时间】:2020-02-15 01:34:54 【问题描述】:

我有两个不会改变的字典 d1 = 'string1': number1, ..., 'string5 000 000': number5000000 和许多小字典 d_i = 'str1': num1, ..., ' str50': num50 (i = 2, 3, ..., 几百万)。我想在这些字典之间做一个点积,即对于字典 d_i 中也存在于 d_1 中的每个键,我希望它们的数字相乘,然后加到总和中。 问题是第一个字典非常大,并且有数百万个小字典。 我怎么做那么快?我可以为此使用一些大数据技术吗?

【问题讨论】:

【参考方案1】:

您可以将数据放入 pandas 数据框,然后在数据框中的系列之间进行点积。它可以更快,但在你的情况下,我会测量在 python 实现和 pandas 的情况下需要多少时间。

【讨论】:

您还应该展示一个小代码示例来说明如何实现这一点。

以上是关于计算两个字典之间的点积数百万次的主要内容,如果未能解决你的问题,请参考以下文章

游戏仿真实验Unity仿真蒲丰投针实验,丢针计算圆周率,丢了一百万次针得出的结果是...

计算两个坐标之间距离的点

运行一百万次扫描的 hbase mapreduce 作业是不是有意义?

计算两个坐标点之间的点的坐标

C++线程一次创建 多次使用 避开循环场景中 线程多次创建销毁的开销

如何以1-1000000作为参数运行JavaScript函数