Pandas多DataFrame批量执行函数并动态添加结果列到报告表的实现
实现方法
你只需要把所有待处理的指标表整理为名称-数据表的映射,通过循环批量处理即可,仅需2~3行代码就能完成所有列的添加,完全兼容你现有的find_result函数逻辑:
# 定义指标和对应数据表的映射关系,后续新增指标只需在这里添加条目即可 metric_dfs = {"glucose": glucose, "insulin": insulin, "leptin": leptin} # 批量计算并添加结果列 for metric_name, df in metric_dfs.items(): final_report[f"{metric_name}_result"] = final_report.apply( lambda x: find_result(x["id"], x["start"], x["end"], df), axis=1 )
可选优化提示
如果后续处理超大数据表时发现逐行apply速度较慢,可以调整find_result逻辑为向 grouped 向量化运算,进一步提升运行效率。
内容的提问来源于stack exchange,提问作者Dr Wampa
相关产品推荐
相关产品推荐

