韦奕帆 2019-12-07 11:46 采纳率: 0%
浏览 11170
已采纳

如何解决ValueError: Length mismatch: Expected axis has 20 elements, new values have 19 elements

图片说明
代码如下:
import numpy as np
import pandas as pd
from GM11 import GM11
inputfile = 'D:\软件\python\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\数据及代码\chapter13\test\data\data1.csv' #输入的数据文件
outputfile = 'D:\软件\python\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\数据及代码\chapter13\test\data\data1_GM11.xls' #灰色预测后保存的路径
data = pd.read_csv('D:\软件\python\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\《Python数据分析与挖掘实战(张良均等)》中文PDF+源代码\数据及代码\chapter13\test\data\data1.csv',engine='python') #读取数据
data.index = range(1993, 2012)
data.loc[2013] = None
data.loc[2014] = None
l = ['x1', 'x2', 'x3', 'x4', 'x5', 'x7']
for i in l:
f = GM11(data[i][arange(1993, 2012)].as_matrix())[0]
data[i][2013] = f(len(data)-1) #2013年预测结果
data[i][2014] = f(len(data)) #2014年预测结果
data[i] = data[i].round(2) #保留两位小数
data[l+['y']].to_excel(outputfile) #结果输出
if (C < 0.35 and P > 0.95): # 评测后验差判别
print ('对于模型%s,该模型精度为---好' % i)
elif (C < 0.5 and P > 0.8):
print ('对于模型%s,该模型精度为---合格' % i)
elif (C < 0.65 and P > 0.7):
print ('对于模型%s,该模型精度为---勉强合格' % i)
else:
print ('对于模型%s,该模型精度为---不合格' % i)

  • 写回答

2条回答 默认 最新

  • weixin_42062762 2019-12-07 13:11
    关注

    他都告诉你了你少了一个元素 data.index = range(1993, 2012) 这里错了 好好数数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料