栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

PyEMD库的安装问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PyEMD库的安装问题

废话比较多,但看完能解决问题就对了~

转载请注明出处!

具体的安装方式网上帖子很多,这里不一一赘述了,只讲一下我使用

pip install PyEMD

时遇到的问题

直接调用PyEMD时

此时说的是没有PyEMD库,网上看到有人说要改成全小写

全小写调用

这个时候虽然错误类型一模一样,但是它变长了,我一开始没注意这个问题,后来才从这里找到了突破口

多出来的一段是进入了pyemd这个文件夹中,然后打开了init文件,在init文件里调用PyEMD库的时候报错了,也就是相当于from PyEMD import CEEMDAN.CEEEMAN的时候依旧报错没有库PyEMD。

聪明的同学可能已经猜到是什么问题了!

于是我打开了这个pyemd文件夹,发现里面确实有CEEMDAN、EEMD、EMD三个文件

pyemd文件夹

于是问题就呼之欲出了——安装时创建的文件夹是小写的pyemd(具体原因不详),但是init中以及网上的所有代码中写的都是PyEMD(仅有y小写),于是我们直接调用PyEMD时是找不到这个文件夹的,而如果调用pyemd,init中以及其它文件中写的依然是PyEMD,依旧找不到这个文件夹。

所以解决办法很简单,只要把文件夹名修改为PyEMD即可!!!

测试代码如下:

# 介绍文档中提供的测试代码
import numpy as np
from PyEMD import EMD,visualisation
import pylab as plt
# Define signal
t = np.linspace(0, 1, 200)
s = np.cos(11*2*np.pi*t*t) + 6*t*t

# Execute EMD on signal
IMF = EMD().emd(s,t)
N = IMF.shape[0]+1

# Plot results
plt.subplot(N,1,1)
plt.plot(t, s, 'r')
plt.title("Input signal: $S(t)=cos(22pi t^2) + 6t^2$")
plt.xlabel("Time [s]")

for n, imf in enumerate(IMF):
    plt.subplot(N,1,n+2)
    plt.plot(t, imf, 'g')
    plt.title("IMF "+str(n+1))
    plt.xlabel("Time [s]")

plt.tight_layout()
plt.savefig('simple_example')
plt.show()

 

如果没有pyemd文件夹的话,可以试试网上其它帖子所说的

pip install EMD-signal

因为我之前PyEMD和EMD-signal都试了,也不清楚这个文件夹是哪个命令创建的。

求三连~~~(如果问题解决了的话)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/725166.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号