使用的最佳文件格式是什么?如何正确加载数据库并在python中绘制sgnals 我正在使用https://physionet.org/physiobank/database/mitdb/中的.dat文件 我用过这些代码
import numpy as np
import matplotlib.pyplot as plt
data = np.genfromtxt('100.dat',delimiter=',')
print(data)
我收到了这个错误:
* 1867行,genfromtxt 提出ValueError(errmsg)
ValueError:检测到一些错误! 第3行(有2列而不是1列) 第6行(有4列而不是1列) 第9行(有3列而不是1列) 第11行(有3列而不是1列) 第12行(有2列而不是1列) 第16行(有3列而不是1列) 第17行(有2列而不是1列) 第18行(有3列而不是1列) 第20行(有2列而不是1列) 第23行(有2列而不是1列) 第27行(有2列而不是1列) 第36行(有2列而不是1列) 第37行(有2列而不是1列) 第66行(有2列而不是1列) 第67行(有2列而不是1列) #100行(有2列而不是1列) 线#105(有2列而不是1列) 第106行(有2列而不是1列) 第118行(有2列而不是1列) 第120行(有5列而不是1列) 第122行(有3列而不是1列) 第123行(有4列而不是1列) 线#125(有2列而不是1列) 第126行(有2列而不是1列) 第127行(有3列而不是1列) 第128行(有2列而不是1列) #134行(有2列而不是1列) #135行(有2列而不是1列) 第137行(有2列而不是1列) #141行(有3列而不是1列) 第143行(有3列而不是1列) 第146行(有2列而不是1列) 第147行(有2列而不是1列) #148行(有2列而不是1列) 第149行(有2列而不是1列) 第#152行(有3列而不是1列) 第154行(有2列而不是1列) #156行(有4列而不是1列) #162行(有2列而不是1列) 第163行(有2列而不是1列) #167行(有3列而不是1列) 第168行(有2列而不是1列) 第#174行(有2列而不是1列) 第175行(有2列而不是1列) 第176行(有3列而不是1列) #177行(有2列而不是1列) 第#179行(有2列而不是1列) #186行(有2列而不是1列) 第187行(有3列而不是1列) 第188行(有2列而不是1列) #189行(有3列而不是1列) 第191行(有2列而不是1列) #193行(有2列而不是1列) 第196行(有2列而不是1列) 第199行(有2列而不是1列) 202号线(有2列而不是1列) 第203行(有2列而不是1列) 第204行(有2列而不是1列) 线#209(有4列而不是1列) 线#210(有4列而不是1列) 第#211行(有2列而不是1列) #213行(有2列而不是1列) 第218行(有2列而不是1列) 线#222(有2列而不是1列) 第223行(有3列而不是1列) #228行(有2列而不是1列) 第236行(有2列而不是1列) 线#240(有2列而不是1列) 第241行(有2列而不是1列) 第244行(有3列而不是1列) 第246行(有2列而不是1列) 第255行(有2列而不是1列) 第#257行(有2列而不是1列) 第268行(有2列而不是1列) 第269行(有2列而不是1列) 第#271行(有2列而不是1列) 第273行(有4列而不是1列) 线#280(有2列而不是1列) 第#281行(有2列而不是1列) 第291行(有2列而不是1列) 第323行(有2列而不是1列) 第325行(有2列而不是1列) #334行(有2列而不是1列) 线#340(有2列而不是1列) #341行(有2列而不是1列) #342行(有2列而不是1列) 第364行(有2列而不是1列) 第372行(有3列而不是1列) 第375行(有2列而不是1列) 第378行(有6列而不是1列)*
答案 0 :(得分:1)
您应该使用wfdb-python包。文档非常好,并且有很多例子。要在您的环境中安装它,您只需执行pip install wfdb
。
假设您在名为100.dat
的本地目录中有数据文件(包括上面提到的./mitdb
文件),您可以使用以下内容读取记录:
import wfdb
record = wfdb.rdsamp('mitdb/100', sampto=3000)
annotation = wfdb.rdann('sampledata/100', 'atr', sampto=3000)
然后,您可以使用以下函数绘制数据:
wfdb.plotrec(record, annotation = annotation,
title='Record 100 from MIT-BIH Arrhythmia Database',
timeunits = 'seconds', figsize = (10,4), ecggrids = 'all')
如果您还没有本地数据文件,可以使用wfdb
下载它们:
import os
wfdb.dldatabase('mitdb', os.path.join(os.getcwd, 'mitdb'))
这将下载记录并将其保存在名为mitdb