numpy - 使用 numpy 对 pandas 数据框进行多项式拟合
问题描述
我有一个包含天文数据的数据框:
我正在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
^^^^^^^^^^^^^^^^^
即使我将数组传递给函数。无论我使用什么数组或如何格式化它们,我都会收到相同的错误消息(除了最后一行)。谁能看到我做错了什么?
解决方案
推荐阅读
- visual-studio-code - 查看所有打开文件的 VSCode 自动完成扩展
- ruby-on-rails - 如何创建 schema.rb 文件的 CSV/Excel
- swift - swift代码中的不兼容或真正错误
- python - tkinter 和 pygame.midi 之间的冲突
- scala - 在 Scala 中使用 Cats 库中的 Validated
- excel - 如何使用 VBA 从工作表创建多个 Excel 工作簿
- c# - 构建和运行时出现 dotnet new blazor 错误
- django - django过滤器没有匹配
- python - 解析包含逻辑的字符串以创建 Django Q 对象
- angular - Angular 5+等待返回承诺的服务