我有一个非常大的数据框(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行左右
经过反复试验,我发现了这个问题
出于某种原因,超过64列的数据帧将无法工作。将原始数据帧拆分为两个,并分别运行每个数据帧修复了问题
相关问题 更多 >
编程相关推荐