上述代码出现报错TypeError: ufunc 'isnan' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
时间: 2023-12-22 21:06:43 浏览: 220
这个错误通常是由于数据中包含非数值类型的值(例如空值或非数字字符串)而引起的。您可以使用`fillna()`方法将这些非数值类型的值替换为NaN,然后再进行计算。
以下是示例代码:
```python
import pandas as pd
from scipy.stats import skew, kurtosis
import statsmodels.api as sm
# 读取数据
data = pd.read_csv('data.csv')
# 将非数值类型的值替换为NaN
data = data.apply(pd.to_numeric, errors='coerce')
# 计算均值、标准差、最大值、最小值等统计信息
stats = data.describe()
# 计算偏度和峰度
stats.loc['skew'] = skew(data)
stats.loc['kurt'] = kurtosis(data)
# 计算AR系数
ar_coeffs = []
for col in data.columns:
ar = sm.tsa.AR(data[col])
ar_model = ar.fit(maxlag=1, ic='aic', trend='c')
ar_coeffs.append(ar_model.params[1])
# 将AR系数添加到统计信息中
stats.loc['AR'] = ar_coeffs
# 打印统计信息
print(stats)
```
注意,在这个示例代码中,我们使用了`pd.to_numeric()`函数将非数值类型的值替换为NaN。`errors='coerce'`参数指定将无法转换为数值类型的值替换为NaN。
阅读全文