|
@@ -170,6 +170,9 @@ def video_rank(df, now_date, now_h, rule_key, param, region):
|
|
|
return_count = param.get('return_count', 1)
|
|
|
score_value = param.get('score_rule', 0)
|
|
|
h_recall_df = df[(df['lastonehour_return'] >= return_count) & (df['score'] >= score_value)]
|
|
|
+
|
|
|
+ h_recall_df = h_recall_df.sort_values(by=['score'], ascending=False)
|
|
|
+ h_recall_df = h_recall_df.drop_duplicates(subset=['videoid'], keep='first')
|
|
|
h_recall_videos = h_recall_df['videoid'].to_list()
|
|
|
log_.info(f'h_recall videos count = {len(h_recall_videos)}')
|
|
|
|
|
@@ -178,6 +181,7 @@ def video_rank(df, now_date, now_h, rule_key, param, region):
|
|
|
h_recall_result = {}
|
|
|
for video_id in h_recall_videos:
|
|
|
score = h_recall_df[h_recall_df['videoid'] == video_id]['score']
|
|
|
+
|
|
|
h_recall_result[int(video_id)] = float(score)
|
|
|
h_video_ids.append(int(video_id))
|
|
|
h_recall_key_name = \
|