KeyError: ‘The `end` argument could not be matched to a location related to the index of the data.‘

出处:ARIMA模型用predict函数预测数值的时候报错

原因:使用pandas的Datetime时间索引的数据进行训练和预测时,时间间隔(采样频率)不规律

理论上的解决方法:创造完整的时间序列索引,使用插值法填充缺失值,使时间间隔规律化并且没有缺失值。创造完整时间序列的代码上一篇文章有。我的缺失值巨多,难办。


现在实验一下上述解决方法:

# 使用前向填充方法填充缺失值
data = data.fillna(method='ffill')

# 对缺失值进行线性插值
data['比差(%)'] = data['比差(%)'].interpolate(method='linear')

填充完毕,运行代码,出现下面问题

numpy.core._exceptions.MemoryError: Unable to allocate 712. MiB for an array with shape (27, 3455773) and data type float64

指的是这个错误是由于内存不足,导致无法为形状为(27, 3455773)和数据类型为float64的数组分配712MB的内存。这通常是由于处理大型数据集或创建大型数组时发生的。

搜了下解决方法

  1. 减小数组大小:您可以考虑减少数组的大小或使用更小的数据类型。例如,如果您将数据类型从float64更改为float32,则数组大小将减半。

  2. 增加系统内存:如果您的系统内存较小,则可以添加更多内存,以便可以分配所需的内存。

  3. 使用分块方法:您可以使用分块方法来处理大型数组而不需要将整个数组加载到内存中。这涉及将数组分成较小的块并逐个处理每个块。

  4. 使用分布式计算:如果您有多台计算机,则可以将计算任务分配给多台计算机并使用分布式计算。

后面试了下,可以跑得动,程序没错,只是内存不够。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值