问题描述
EMD实验实现时候报错:
Exception has occurred: AttributeError 'list' object has no attribute 'dtype'
解决方案
于是
emd = EMD()
emd.emd(signal)
改为
emd = EMD(signal)
报错
Exception has occurred: ValueError
No IMF found. Please, run EMD method or its variant first.
最终解决方案
实际上只用将读取txt文件变成
S = np.loadtxt(Ori_filename)
这种情况下读取的数据自然带有各类属性,我发现我走了两天的弯路一直卡在这个地方,简直心痛到无法呼吸。
实验结果为:
总结,在遇到dataframe没有某些属性的时候,不一定是后面那些算法错了,很有可能是数据读入时候引入的错误。
python里面提供的文档读入方式很多,比较常用的open read以及np.loadtxt,此外还有pd的.csv读入方式
import numpy as np
S = np.loadtxt(Ori_filename)
或
import pandas as pd
S = pd.read_table(Ori_filename, sep = '\n', header=None)
或
S = pd.read_csv(Ori_filename, header=None)
或
S = open(filename2, 'a', encoding='utf-8')
可以灵活使用文档读入方式,同时,结合使用reshape函数将文档数据变成自己所需要的格式,这样就能够避免大多数的数据类型以及数据缺少某个属性的问题。
感谢: