Traceback (most recent call last): File "D:\kelly\PycharmProjects\pythonProject7\7.2上证.py", line 33, in <module> am_arch = arch_model(r, mean='constant', vol='arch', p=1, q=0, dist='normal') File "D:\python3.10\lib\site-packages\arch\univariate\mean.py", line 1981, in arch_model am = ConstantMean(y, hold_back=hold_back, rescale=rescale) File "D:\python3.10\lib\site-packages\arch\univariate\mean.py", line 1118, in __init__ super().__init__( File "D:\python3.10\lib\site-packages\arch\univariate\mean.py", line 266, in __init__ super().__init__( File "D:\python3.10\lib\site-packages\arch\univariate\base.py", line 198, in __init__ raise ValueError( ValueError: NaN or inf values found in y. y must contains only finite values.怎么改错
时间: 2023-07-21 19:20:48 浏览: 144
linux 下 pip3 报错“ File “/usr/bin/pip3”, line 9, in from pip import mainImportError: canno”处理
5星 · 资源好评率100%
这个错误提示是因为你的数据 `r` 中存在非数值或无穷大的值,需要先处理一下数据,将其中的非数值或无穷大的值去掉或替换为其他数值。你可以使用 Pandas 库中的 `fillna()` 方法将非数值或无穷大的值替换为平均值或中位数,具体操作如下:
```python
import pandas as pd
# 将 r 中的非数值或无穷大的值替换为平均值
r = pd.Series(r)
r = r.fillna(r.mean())
```
或者,如果你想将非数值或无穷大的值直接去掉,可以使用 Pandas 库中的 `dropna()` 方法,具体操作如下:
```python
import pandas as pd
# 去掉 r 中的非数值或无穷大的值
r = pd.Series(r)
r = r.dropna()
```
处理完数据后,再调用 `arch_model()` 函数就不会出现上述错误了。
阅读全文