假设我有这样一个数据帧:
ID Text
12 [Apple, Zebra]
14 [Camel, Apple]
18 [Obama, Trump]
20 [Lincoln, Obama, Trump]
15 [Apple, Banana, Zebra]
“文本”是字符串列表。我正在寻找一种方法,以找到基于文本的行之间的链接,如ID 12和14有苹果的共同点。你知道吗
所以我最理想的是:
ID Text Link
12 [Apple] [14]
12 [Apple, Zebra] [15]
18 [Obama, Trump] [20]
到目前为止,我尝试过的是:遍历每个列表的每个元素,然后像这样制作一个字典:
{ 'Apple' : [12, 14], 'Obama' : [18, 20], 'Trump' : [18, 20], 'Zebra' : [12, 15], 'Camel' : [14], 'Lincoln' : [20], 'Banana' : [15] }
然而,由于数据相当大,这需要很多时间。我正在寻找一个速度优化的方式来做到这一点。任何想法和/或帮助都将不胜感激。你知道吗
你可以做数学。 您可以找到集合的并集,而不是遍历每个列表的每个元素。 ``` 刚毛={1,2,3}
setb={3,4,5}
如果seta交叉点倒退:
否则:
你知道吗``` 这是O(n^2)。我不知道它和你现在的解决方案相比怎么样。 介意分享一下吗?你知道吗
相关问题 更多 >
编程相关推荐