在python

时间:2018-02-07 14:42:11

标签: python dataset

使用的最佳文件格式是什么?如何正确加载数据库并在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列)*

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

的本地目录中