У меня есть фрейм данных, содержащий астрономические данные:
![enter image description here](https://i.stack.imgur.com/NOmUP.png)
Я использую 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
^^^^^^^^^^^^^^^^^
, хотя я передаю массивы в функцию.Я получаю одно и то же сообщение об ошибке (кроме последней строки) независимо от того, какие массивы я использую или как я их форматирую.Кто-нибудь может увидеть, что я делаю не так?