我有一个包含天文数据的数据框:
我正在使用statsmodels.formula.api
来尝试对数据框应用多项式拟合,方法是使用标记为log_z
和U
,B
,V
的列,和其他变量。我已经走了
sources['log_z'] = np.log10(sources.z)
mask = ~np.isnan((B-I)) & ~np.isnan(log_z)
model = ols(formula='(B-I) + np.power((U-R),2) ~ log_z', data = [log_z[mask], (B-I)[mask]]).fit()
但我不断得到
PatsyError: Error evaluating factor: TypeError: list indices must be integers or slices, not str
(B-I) + np.power((U-R),2) ~ log_z
^^^^^^^^^^^^^^^^^
即使我将数组传递给函数。无论使用什么数组或如何格式化它们,我都会收到相同的错误消息(除了最后一行)。有人可以看到我在做什么错吗?