spec.pgram 相当于 Python

spec.pgram equivalent in Python

我正在使用 R 处理一些遗留代码。在代码中,周期图的频率和强度被提取并用于一些下游分析:

spec.pgram(tdata,pad=0.3,tap=0.3,span=2,plot=F,detrend=TRUE,demean=TRUE)

其中tdata为一维时间序列数据。

问题是我想将此部分移植到 Python,但我无法重现此命令的输出。

到目前为止,我尝试使用 scipy 实现:

scipy.signal.periodogram(tdata)

pyspectrum包的实现:

p = spectrum.Periodogram(tdataA1n)
freq = p.frequencies()
intensities = p.psd

不幸的是,这两种方法都产生了相似的“模式”,但值的幅度明显较低(例如,与 R 中的 0-600 相比,值范围为 0-300)。我假设这是基于 R 中的一些参数,但我不知道如何将它们转换为 python.

将不胜感激。

如果有人在寻找解决方案,我找到了 GitHub repo 和 spec.pgram 的 python 版本,这对我来说就像一个魅力。不幸的是它不包含明确的许可,所以我猜想原始实现的 GPL 许可是适用的。