当使用连续小波变换时,不断得到一个类型错误

2024-10-01 13:42:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图用连续小波变换来清除噪声信号scipy.信号具体如下:

df2=signal.cwt(df, np.arange(1,31), 'gaus1')

这给了我一个类型错误:“int”和“str”的实例之间不支持“<;”

为什么会出现这种错误?如何正确地对数据应用连续小波变换?你知道吗


Tags: 类型dfsignal信号错误npscipy噪声
2条回答

您对cwt()使用了错误的库

您的代码应该使用pywt模块,而不是scipy.signal

使用以下选项:

import pywt
pywt.cwt(df. np.arange(1, 31), 'gaus1')

https://pywavelets.readthedocs.io/en/latest/ref/cwt.html

或者在文档中查找scipy.signal.cwt(),了解如何正确使用它:

https://docs.scipy.org/doc/scipy-0.16.1/reference/generated/scipy.signal.cwt.html

如果你想去噪一个信号,我会推荐离散小波,因为它们比连续小波快,可以完美地重建原始信号,从而减少去噪过程中的伪影。你知道吗

离散变换有一维变换和二维变换载重吨以及pywt.dwt2型分别。当前没有2d版本的pywt.cwt公司,因此,如果您的“df”不止一个维度,那么您可能就不走运了(由于scipy库在其核心使用pywt,我怀疑这对您也适用)。你知道吗

还有另一个小波库pycwt,它独立于pywt,可能对您有用,但我对该库没有太多经验。你知道吗

相关问题 更多 >