對於分類Django網站項目,我有一個由(user_id, ad_id)
對組成的元組列表。這表示發聲器的user_id
以及相關的ad_id
。計算元組列表中唯一元組的發生率
例如:
gross_clicks = [(1, 13),(1, 12), (1, 13), (2, 45), (2, 13), (1, 15), ...(n, m)]
此列表中的元素決不是唯一的 - 每次點擊被推入此列表,無論它是由相同的用戶和/或它在相同的廣告。
現在,我可以做讓所有重複點擊:
unique_clicks = []
import operator
gross_click_ids = map(operator.itemgetter(0), gross_clicks)
return len(set(gross_click_ids))
但我如何獲得每個廣告獨特的點擊?即如果同一用戶點擊了兩個不同的廣告,則會被計爲兩次單獨點擊。
性能也很重要 - 它是一個龐大的數據集 - 所以更喜歡最有效的解決方案,並附上一個說明性示例。
而不是在Python中這樣做,爲什麼不在數據庫級別做到這一點?這可能會更快。 –
我在想同樣的事情。這也會更容易。 –
@WillemVanOnsem:我的後端是'Redis' –