|
@@ -81,7 +81,10 @@ def segment_calc_diff_rate_by_score(df: pd.DataFrame, segment_file_path: str, st
|
|
|
segment_score_avg=('score', 'mean'),
|
|
|
).reset_index()
|
|
|
group_df['segment_true_score'] = group_df['segment_label_sum'] / group_df['segment_label_cnt']
|
|
|
- group_df['segment_diff_rate'] = (group_df['segment_score_avg'] / group_df['segment_true_score'] - 1).mask(group_df['segment_true_score'] == 0, 0)
|
|
|
+ group_df['segment_diff_rate_origin'] = (group_df['segment_score_avg'] / group_df['segment_true_score'] - 1).mask(group_df['segment_true_score'] == 0, 0)
|
|
|
+
|
|
|
+ # 使用滑动容器计算当前值以及上下两行的平均值,作为新的diff_rate
|
|
|
+ group_df['segment_diff_rate'] = group_df['segment_diff_rate_origin'].rolling(window=5, center=True, min_periods=1).mean()
|
|
|
|
|
|
# 完整的分段文件保存
|
|
|
csv_data = group_df.to_csv(sep="\t", index=False)
|