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))
をしかし、どのように、私は広告あたりユニーククリックを得るのですか?私。同じユーザーが2つの異なる広告をクリックした場合、2つの別々のクリックとしてカウントされます。
パフォーマンス上の問題もあります。データが大きいため、最も効率的なソリューションと、実例があります。
これをPythonで行うのではなく、データベースレベルで行うのはどうですか?おそらくもっと速いでしょう。 –
私は同じ考えをしていた。それも簡単になります。 –
@WillemVanOnsem:私のバックエンドは 'Redis'です –