iva*_*a32 5 python filter scipy
我正在尝试使用该scipy.signal.savgol_filter函数过滤数据集,但出现错误
TypeError: expected x and y to have same length
Run Code Online (Sandbox Code Playgroud)
当我尝试在新列表中分配数据时。
奇怪的是,就在我上次计算之前,一切都按预期工作,但现在我明白了。我试图创建一个与过滤后大小相同的空列表,但我得到了同样的错误。
这是我的代码的那一部分:
import scipy as sc
import scipy.signal
Cf = sc.signal.savgol_filter(x=C, window_length=299, polyorder=3)
Run Code Online (Sandbox Code Playgroud)
哪里C是一个明确定义的浮点型数字列表。
如果window_length大于C(例如savgol_filter([3, 1, 4, 1, 5, 9], window_length=7, polyorder=3))的长度,我会收到您报告的错误。
在 SciPy 1.0.0 中,神秘的错误消息已被替换为信息更丰富的消息:
ValueError: If mode is 'interp', window_length must be less than
or equal to the size of x.
Run Code Online (Sandbox Code Playgroud)
错误信息令人困惑。就我而言,问题出在输入数组上。它采用以下形式:
x = np.array([[3],
[1],
[4],
[1],
[5],
[9]])
Run Code Online (Sandbox Code Playgroud)
通过np.ravel解决问题提供扁平化:
>>> np.ravel(x)
array([3, 1, 4, 1, 5, 9])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6131 次 |
| 最近记录: |