Python代码优化:将重复数据处理逻辑封装成函数
def optimize_code(tj_config, categore_type, save_path, save_categorefile, now_day, record_txt, df_Increment, df_lose):
'''
该函数用于比较两个数据集并记录重复、新增和丢弃的数据量。
Args:
tj_config (str): 天机配置名称
categore_type (str): 数据类别
save_path (str): 保存路径
save_categorefile (str): 保存文件名
now_day (str): 当前日期
record_txt (str): 记录信息的字符串
df_Increment (pd.DataFrame): 新增数据的DataFrame
df_lose (pd.DataFrame): 丢弃数据的DataFrame
Returns:
tuple: 包含更新后的record_txt, df_Increment, df_lose
'''
previous_name = tj_config + '_' + categore_type + '_'
previous_file = TianJiIocs.get_previousFile(save_path, save_categorefile, previous_name)
columns = ['category', 'value', 'score']
now_data = TianJiIocs.pickUpDataColumns(categore_type_data, columns)
previous_data = TianJiIocs.pickUpDataColumns(pd.read_csv(previous_file), columns)
repeat_num = len(TianJiIocs.repeatData(now_data, previous_data, 'value'))
record_txt += f'{tj_config}--{categore_type}类型-重复数量{repeat_num}' + '\n'
Increment_tmpData = TianJiIocs.incrementData(now_data, previous_data, 'value', now_day)
if Increment_tmpData is not None:
record_txt += f'{tj_config}--{categore_type}类型-增量:{len(Increment_tmpData)}' + '\n'
df_Increment = pd.concat([Increment_tmpData, df_Increment], ignore_index=True)
else:
record_txt += f'{tj_config}--{categore_type}类型-增量:0' + '\n'
lose_tmpData = TianJiIocs.loseData(previous_data, now_data, 'value', now_day)
if lose_tmpData is not None:
record_txt += f'{tj_config}--{categore_type}类型-丢弃:{len(lose_tmpData)}' + '\n'
df_lose = pd.concat([lose_tmpData, df_lose], ignore_index=True)
else:
record_txt += f'{tj_config}--{categore_type}类型-丢弃:0' + '\n'
return record_txt, df_Increment, df_lose
原文地址: https://www.cveoy.top/t/topic/eZkT 著作权归作者所有。请勿转载和采集!