劳烦各位帮忙看看,以下代码一直报错,但是找不到错在哪儿,问GPT也没用……以下是报错信息
以下是代码
#原始生产计划:若有库存量,就将库存量存起来,当有缺货量时就用库存量来补足缺货量。
import pandas as pd
import matplotlib.pyplot as plt
df=pd.read_excel(r'C:/Users/Administrator/Desktop/ARMA预测数据.xlsm')
#把df['预测值']四舍五入
df['预测值'] = df['预测值'].round()
#筛选到100周之后的数据
df = df.loc[df['周'] >= 100]
#第100周的df['预测值']和df['真实值']都=0
df.loc[df['周'] == 100, ['真实值', '预测值']] = 0
##第100周的df['生产计划']=2
df.loc[df['周'] == 100, ['生产计划']] = 2
##大于100周的df['生产计划']=df['预测值']
df.loc[df['周'] > 100, ['生产计划']] = df['预测值']
#定义实际需求量
df['实际需求量']=df['真实值']
true = df['实际需求量']
#删除原先表里的真实值与预测值
del(df['真实值'])
del(df['预测值'])
#计算库存量与缺货量
#从101周开始,本周的库存量/缺货量=上一周的生产计划-本周的实际需求量+上一周的库存量
#初始化
p = df['生产计划']
tn = df['实际需求量']
k = df['库存量']
q = df['缺货量']
kq = df['库存/缺货量']
plan = p.copy()
true_need = tn.copy()
kcl = k.copy()
qhl = q.copy()
kcl_qhl = kq.copy()
for i in range(len(df['周'])-1):
kcl_qhl[i+1]=plan[i]-true_need[i+1]+kcl[i]
if kcl_qhl[i+1]>0:
kcl_qhl[i+1]=kcl[i+1]
else:
kcl_qhl[i+1]=qhl[i+1]
df.loc[i+1, '库存量'] = kcl_qhl[i+1]
df.loc[i+1, '缺货量'] = max(0, -kcl_qhl[i+1])
print(df)
#计算服务水平
alpha = qhl/true_need
df['服务水平']=1-alpha
#df.to_excel(r'C:/Users/Administrator/Desktop/生产计划.xlsm')
以下是部分表格
在此谢过各位