python - scipy ver 0.18 scipy.interpolate.UnivariateSpline 如何处理不严格增加的值?
问题描述
我有一个用 python 2.7.5 scipy 0.18.1 编写的程序,它能够使用非顺序数组运行 scipy.interpolate.UnivariateSpline。当我尝试在 python 2.7.14 / scipy 1.0.0 中运行相同的程序时,出现以下错误:
文件“/usr/local/lib/python2.7/site-packages/scipy/interpolate/fitpack2.py”,第 176 行,在init中 引发 ValueError('x 必须严格增加')
通常我会修复数组以删除非顺序值。但在这种情况下,我需要重现由早期版本的 python/scipy 生成的完全相同的解决方案。谁能告诉我早期的代码如何处理值不连续的情况?
解决方案
IIRC 这就是 FITPACK(univariatespline 类包装的 fortran 库)正在做的事情。因此,第一站是从本地 scipy 安装中删除检查,看看这是否有效
推荐阅读
- python - 从 numpy 数组中解复用值
- mysql - 为什么在 SELECT DISTINCT 查询中出现“重复条目”错误?
- php - 返回页面后php动态选择选项设置为默认值(表单提交后重置选择选项)
- python - 加载回文件后,matplotlib 图中的隐藏轴可见
- safari - Mac Safari (12 / 13) 会在 5-10 分钟后自动失去声音
- c - 为什么我的代码没有生成 1 到 N 之间的随机数字序列?不产生文件。我的代码有什么错误?我究竟做错了什么?
- python - 错误 builtins.TypeError:需要一个类似字节的对象,而不是使用 pickle 的“str”
- sql-server - 插入其中值不为空的带有选择语句
- excel - Excel VBA 调试
- excel - 如何将日期转换为 YYYY-MM 格式以便进行 SUMIFS?