Für ein Kleinanzeigen Django Website-Projekt, habe ich eine Liste von Tupeln, bestehend aus (user_id, ad_id)
Paare. Dies bezeichnet die user_id
des Clickers zusammen mit dem entsprechenden ad_id
.Berechnung der Häufigkeit von eindeutigen Tupeln in einer Liste von Tupeln
Zum Beispiel:
gross_clicks = [(1, 13),(1, 12), (1, 13), (2, 45), (2, 13), (1, 15), ...(n, m)]
Die Elemente in dieser Liste sind keineswegs einzigartig - jeder Klick in diese Liste geschoben wird, unabhängig davon, ob es sich um den gleichen Benutzer und/oder es ist auf derselben Anzeige.
Jetzt kann ich alle eindeutigen Klicks erhalten, indem Sie:
unique_clicks = []
import operator
gross_click_ids = map(operator.itemgetter(0), gross_clicks)
return len(set(gross_click_ids))
Aber wie bekomme ich eindeutige Klicks pro Anzeige? I.e. Wenn derselbe Nutzer auf zwei verschiedene Anzeigen klickt, wird dies als 2 separate Klicks gezählt.
Leistung ist auch wichtig - es ist ein großer Datensatz - würde also die effizienteste Lösung bevorzugen, zusammen mit einem anschaulichen Beispiel.
Anstatt dies in Python zu tun, warum nicht auf Datenbankebene? Dies wird wahrscheinlich schneller sein. –
Ich dachte das Gleiche. Es wird auch einfacher sein. –
@WillemVanOnsem: mein Backend ist 'Redis' –