Python:查找Pandas Dataframe行之间的共同链接

2024-04-27 19:40:25 发布

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

假设我有这样一个数据帧:

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] }

然而,由于数据相当大,这需要很多时间。我正在寻找一个速度优化的方式来做到这一点。任何想法和/或帮助都将不胜感激。你知道吗


Tags: 数据方法字符串text文本idapple列表
1条回答
网友
1楼 · 发布于 2024-04-27 19:40:25

你可以做数学。 您可以找到集合的并集,而不是遍历每个列表的每个元素。 ``` 刚毛={1,2,3}

setb={3,4,5}

如果seta交叉点倒退:

log it somewhere as a tuple

否则:

skip it.

你知道吗``` 这是O(n^2)。我不知道它和你现在的解决方案相比怎么样。 介意分享一下吗?你知道吗

相关问题 更多 >