|  | @@ -103,10 +103,13 @@ def cal_score1(df):
 | 
											
												
													
														|  |      return df
 |  |      return df
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -def cal_score2(df):
 |  | 
 | 
											
												
													
														|  | 
 |  | +def cal_score2(df, param):
 | 
											
												
													
														|  |      # score2计算公式: score = share次数/(view+1000)+0.01*return/(share次数+100)
 |  |      # score2计算公式: score = share次数/(view+1000)+0.01*return/(share次数+100)
 | 
											
												
													
														|  |      df = df.fillna(0)
 |  |      df = df.fillna(0)
 | 
											
												
													
														|  | -    df['share_rate'] = df['share次数'] / (df['view人数'] + 1000)
 |  | 
 | 
											
												
													
														|  | 
 |  | +    if param.get('view_type', None) == 'video-show':
 | 
											
												
													
														|  | 
 |  | +        df['share_rate'] = df['share次数'] / (df['platform_show'] + 1000)
 | 
											
												
													
														|  | 
 |  | +    else:
 | 
											
												
													
														|  | 
 |  | +        df['share_rate'] = df['share次数'] / (df['view人数'] + 1000)
 | 
											
												
													
														|  |      df['back_rate'] = df['回流人数'] / (df['share次数'] + 100)
 |  |      df['back_rate'] = df['回流人数'] / (df['share次数'] + 100)
 | 
											
												
													
														|  |      df['score'] = df['share_rate'] + 0.01 * df['back_rate']
 |  |      df['score'] = df['share_rate'] + 0.01 * df['back_rate']
 | 
											
												
													
														|  |      df['platform_return_rate'] = df['platform_return'] / df['回流人数']
 |  |      df['platform_return_rate'] = df['platform_return'] / df['回流人数']
 | 
											
										
											
												
													
														|  | @@ -186,7 +189,7 @@ def rank_by_h(now_date, now_h, rule_params, project, table):
 | 
											
												
													
														|  |          # 计算score
 |  |          # 计算score
 | 
											
												
													
														|  |          cal_score_func = value.get('cal_score_func', 1)
 |  |          cal_score_func = value.get('cal_score_func', 1)
 | 
											
												
													
														|  |          if cal_score_func == 2:
 |  |          if cal_score_func == 2:
 | 
											
												
													
														|  | -            score_df = cal_score2(df=feature_df)
 |  | 
 | 
											
												
													
														|  | 
 |  | +            score_df = cal_score2(df=feature_df, param=value)
 | 
											
												
													
														|  |          else:
 |  |          else:
 | 
											
												
													
														|  |              score_df = cal_score1(df=feature_df)
 |  |              score_df = cal_score1(df=feature_df)
 | 
											
												
													
														|  |          video_rank_h(df=score_df, now_date=now_date, now_h=now_h, rule_key=key, param=value)
 |  |          video_rank_h(df=score_df, now_date=now_date, now_h=now_h, rule_key=key, param=value)
 |