Python:对图形实验室.SFram

2024-06-24 13:43:51 发布

您现在位置:Python中文网/ 问答频道 /正文

有一个包含dict元素的列的SFrame。在

import graphlab
import numpy as np
a = graphlab.SFrame({'col1':[{'oshan':3,'modi':4},{'ravi':1,'kishan':5}],
                     'col2':[{'oshan':1,'rawat':2},{'hari':3,'kishan':4}]})

我想计算SFrame的每一行这两列之间的cosine距离。下面是使用for loop的操作。在

^{pr2}$

这是非常低效的,如果行数很大,则需要几个小时。有人能建议一个更好的方法吗。在


Tags: importnumpy元素asnpdictcol2col1
1条回答
网友
1楼 · 发布于 2024-06-24 13:43:51

通常可以通过使用apply函数来避免在SFrame上循环。在你的情况下,应该是这样的:

a.apply(lambda row: graphlab.distances.cosine(row['col1'], row['col2']))

这应该比在Python中循环要快得多。在

相关问题 更多 >