Python未找到与ufunc svd_n_s的指定签名和强制转换匹配的循环

Python未找到与ufunc svd_n_s的指定签名和强制转换匹配的循环,python,Python,我试图使用statsmodels.stats.outliers\u influence\u variance\u influence\u factor找到数据集的方差膨胀因子(VIF)。我运行了一个完全分类变量数据集的代码,它返回了VIF矩阵。然而,当我为另一个数据集运行代码时,我不断得到一个类型错误。此数据集具有数字变量。请帮忙。请查找以下代码: from statsmodels.stats.outliers_influence import variance_inflation_factor

我试图使用
statsmodels.stats.outliers\u influence\u variance\u influence\u factor
找到数据集的方差膨胀因子(VIF)。我运行了一个完全分类变量数据集的代码,它返回了VIF矩阵。然而,当我为另一个数据集运行代码时,我不断得到一个类型错误。此数据集具有数字变量。请帮忙。请查找以下代码:

from statsmodels.stats.outliers_influence import variance_inflation_factor as vif
full_data = full_data.drop(response, axis=1)
data_columns = full_data.columns
out = pd.DataFrame()
Variable_name = []
VIF = []
for col_name in data_columns:
    index = full_data.columns.get_loc(col_name)
    print index
    data = full_data.as_matrix()
    Variable_name.append(col_name)
    VIF.append(np.array(vif(data, index), dtype=float))
out['Variable_name'] = Variable_name
out['Variance Inflation Factor'] = VIF
它适用于这样的数据集
a、b、c 1 1 1 1 2 2 1 1 3 1 1 4 2 1 5 但不是像这样的-42.1585 14.7353 3.45338 4.67938-19.0982-17.0384-60.3472 3.45338 4.67938-19.0982-42.1585-5.62736 3.45338 4.67938-19.0982-17.0384-98.0905 3.45338 4.67938-19.0982

-17.0384-5.62736 3.45338 4.67938-19.0982

如果可能,您可以添加可能的工作集和非工作集。除此之外,祝你提问顺利,欢迎来到StackOverflow@geisterfurz007我添加了一个示例数据集!