Python-hrvanalysis库 使用总结
最近接手一个心电项目,用到了hrvanalysis库分析心电数据特征。网上的关于hrvanalysis中文资源不多,今天总结一下。
参考 https://github.com/Aura-healthcare/hrvanalysis
1 hrvanalysis介绍和安装
hrvanalysis是一个基于SciPy, AstroPy, Nolds and NumPy的python模块,用于构建RR-interval心率变异分析的工具。
python3下,使用下面👇命令安装这个库
$ pip install hrv-analysis
hrvanalysis对其他库的依赖如下:
Python (>= 3.5)
astropy >= 3.0.4
future >= 0.16.0
nolds >= 0.4.1
numpy >= 1.15.1
scipy >= 1.1.0
2 离群值和异常值删除
# 导入库和对应的函数
from hrvanalysis import remove_outliers
from hrvanalysis import remove_ectopic_beats
from hrvanalysis import interpolate_nan_values
# 此为RR-interval长度列表,每个元素为每个RR-interval的间隔时间
rr_intervals_list = [1000, 1050, 1020, 1080, ..., 1100, 1110, 1060]
# 删除离群值,被删除的元素置为nan,自low_rri和high__rri分别为最小和为最大的RR-interval
rr_intervals_without_outliers = remove_outliers(rr_intervals=rr_intervals_list,
low_rri=300, high_rri=2000)
# 将离群的rr-interval值删除,并用线性插值的方法添加新值
interpolated_rr_intervals = interpolate_nan_values(rr_intervals=rr_intervals_without_outliers,
interpolation_method="linear")
# 从RR-interval心电信号中,采用malik方法删除异常值,即将值置为nan
nn_intervals_list = remove_ectopic_beats(rr_intervals=interpolated_rr_intervals