You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以Excel工作表名命名并存储各表对应的线性回归多项式函数

解决方案

你遇到的核心问题是循环内的临时变量会被后续迭代覆盖,直接赋值给循环变量df无法持久化存储多份结果,推荐使用字典存储每个工作表对应的回归函数,天然匹配工作表名到函数的映射关系,实现代码如下:

import pandas as pd
import numpy as np

# 读取所有工作表,返回格式为 {工作表名: 对应DataFrame} 的字典
dfs = pd.read_excel(r'Prod.xlsx', sheet_name=None)
# 初始化存储回归函数的字典
reg_funcs = {}

for sheet_name, df in dfs.items():
    # 拟合一阶多项式
    poly_coef = np.polyfit(df['P'], df['Q'], 1)
    # 生成多项式函数并存入字典,键为工作表名称
    reg_funcs[sheet_name] = np.poly1d(poly_coef)

使用方式

之后你可以直接通过工作表名称调用对应的回归函数,比如工作表名为2023年生产数据的话,调用方式如下:

# 传入自变量x计算预测值
y_pred = reg_funcs['2023年生产数据'](10)

如果你确实需要将函数作为独立的全局变量使用(不推荐,灵活度和可维护性远低于字典方案),可以通过操作globals()字典实现:

for sheet_name, df in dfs.items():
    poly_coef = np.polyfit(df['P'], df['Q'], 1)
    # 直接将函数注册为全局变量,变量名为工作表名
    globals()[sheet_name] = np.poly1d(poly_coef)

之后可以直接用工作表名作为函数名调用:

y_pred = 2023年生产数据(10)

注意:如果工作表名包含特殊字符、空格或者不符合Python变量命名规则的字符,直接作为变量名调用会报错,更推荐使用字典存储的方案

内容的提问来源于stack exchange,提问作者samhar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:45:01