【发布时间】:2019-03-10 20:38:59
【问题描述】:
我需要计算并存储 word2vec 编码的所有单词对的余弦距离。每个单词都表示为存储在 pandas 数据帧中的 4 * 1 向量,每个元素都在连续范围 [1, 9] 中。
我需要将结果存储在 pandas 数据框中,以便可以在恒定时间内访问它。
我无法使用 pandas library/lambda 的 apply 功能。使用嵌套循环大约需要。 9 小时(根据 tqdm)。
word word1 word2 word3 ...
word1 d11 d12 d13...
word2 d21 d22 d23...
word3 d31 d32 d33...
.
.
.
【问题讨论】:
-
为什么不能使用 lambda 函数?此外,嵌套的 for 循环确实效率不高。明确地使用.loc 可能会更好。为了提高性能,您还可以考虑使用cythonizing 您的代码。
-
两种方法都试了,比较费时间,哪种方法效率最高?
-
看看本教程,来自 pandas 文档:Enhancing Performance
标签: python pandas nlp word2vec