2013-05-12 30 views
1

我有一組文章中使用的所有單詞的主列表,現在我試圖計算每篇文章中主列表中每個單詞的出現次數。然後我會嘗試建立關於數據的一些關聯規則。例如,我的數據可能是這樣的:Python - 清理數據以運行apriori算法

master_wordlist = ['dog', 'cat', 'hat', 'bat', 'big'] 
article_a = ['dog', 'cat', 'dog','big'] 
article_b = ['dog', 'hat', 'big', 'big', 'big'] 

我需要讓我的數據爲這種格式:

Article  dog cat hat bat big 
article_a  2  1  0  0  1 
article_b  1  0  1  0  3 

我努力使這種轉變,我一直在玩弄nltk,但我無法弄清楚如何計算它包含不存在的詞的數量。任何幫助將不勝感激!

回答

1

你可以在這裏使用collections.Counter

from collections import Counter 
master_wordlist = ['dog', 'cat', 'hat', 'bat', 'big'] 
article_a = ['dog', 'cat', 'dog','big'] 
article_b = ['dog', 'hat', 'big', 'big', 'big'] 

c_a = Counter(article_a) 
c_b = Counter(article_b) 

print [c_a[x] for x in master_wordlist] 
print [c_b[x] for x in master_wordlist] 

輸出:

[2, 1, 0, 0, 1] 
[1, 0, 1, 0, 3] 
+0

感謝您的幫助!我不知道我可以迭代使用這樣的元組。我將不得不將打印部分放在一個循環中,因爲實際上我已經比我在這裏列出的兩篇文章接近2000篇,但是解決方案仍然是正確的。我很感激幫助。 – flyingmeatball 2013-05-13 03:56:23