1
假設之間尋找共同的聯繫我有一個熊貓數據幀像這樣:的Python:熊貓據幀行
ID Text
12 [Apple, Zebra]
14 [Camel, Apple]
18 [Obama, Trump]
20 [Lincoln, Obama, Trump]
15 [Apple, Banana, Zebra]
「文本」是一個字符串列表。我正在尋找一種方法來查找基於文本的行之間的鏈接,如ID 12和14有Apple的共同點。
所以我會非常想擁有的是:
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] }
然而,因爲數據相當大,這需要很多時間。我正在尋找一種速度優化的方式來做到這一點。任何想法和/或幫助表示讚賞。
我現在的解決方案確實非常簡單,我將元素以ID(「鏈接」)作爲元組推送到字典中,並檢查它們是否已經存在。在這種情況下,我將ID添加到列表中 - 「鏈接」。時間複雜度爲O(n^2)的元素數量。 – Kirtiman
雖然我並不完全瞭解你的解決方案,但你的意思是我應該將每個「文本」列表製作爲一個十字路口並檢查它與其餘的十字路口?但是,這似乎是O(n^2)的行數! – Kirtiman