Statsmodels ANOVA/Python:ValueError:约束矩阵中必须至少有一行

2024-09-30 18:27:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个非常大的数据框(12000行x95列),我想循环遍历每一列并运行方差分析,将结果附加到列表中

results = []

for i in df.columns[1:]:
    mod = ols('var ~ C({})'.format(i), data = df).fit()
    aov = sm.stats.anova_lm(mod, typ = 2)

    results.append(aov)

我在几个列上分别运行了相同的代码,在这个循环中的前5列也运行了相同的代码,两个都运行了。但是,当我在整个数据集上运行时,会出现以下错误:

ValueError: must have at least one row in constraint matrix

由于它与前5列一起工作,我认为这与我的数据有关,但我不确定是什么和在哪里

我对python不是很有经验,但我认为错误出现在这个代码块(https://github.com/pydata/patsy/blob/master/patsy/constraint.py)的第50行左右


Tags: columns数据代码inmoddf列表for