Jupyter Note

import csv
import os
import pandas as pd
import numpy as np
from random import randint
import matplotlib.pyplot as plt
txts = []
with open('/home/zht/dataset/hf_ecg/hf_round1_label.txt', 'r') as sub:
    for line in sub:
        content = line.split('\t')
        txt_file_path = content[0]
        txts.append(txt_file_path)
data = pd.read_csv('/home/zht/dataset/hf_ecg/train/'+txts[randint(0,len(txts))], sep=' ')
data['III'] = data['II'] - data['I']
data['aVR'] = -(data['II'] + data['I']) / 2
data['aVL'] = data['I'] - data['II'] / 2
data['aVF'] = data['II'] - data['I'] / 2                                                     
data
I II V1 V2 V3 V4 V5 V6 III aVR aVL aVF
0 -14 -4 3 -19 -35 -40 -27 -26 10 9.0 -12.0 3.0
1 -15 -18 4 -16 -28 -43 -32 -28 -3 16.5 -6.0 -10.5
2 -19 -21 5 -22 -33 -41 -33 -25 -2 20.0 -8.5 -11.5
3 -26 -21 3 -18 -30 -38 -25 -22 5 23.5 -15.5 -8.0
4 -26 -24 10 -13 -30 -35 -26 -19 2 25.0 -14.0 -11.0
5 -24 -32 5 -24 -35 -41 -33 -20 -8 28.0 -8.0 -20.0
6 -21 -22 10 -19 -28 -39 -31 -18 -1 21.5 -10.0 -11.5
7 -28 -23 8 -18 -31 -37 -28 -13 5 25.5 -16.5 -9.0
8 -26 -28 0 -26 -29 -44 -36 -21 -2 27.0 -12.0 -15.0
9 -15 -18 4 -30 -31 -47 -38 -28 -3 16.5 -6.0 -10.5
10 -18 -9 2 -28 -38 -42 -32 -28 9 13.5 -13.5 0.0
11 -11 -19 5 -31 -43 -47 -33 -32 -8 15.0 -1.5 -13.5
12 -9 -22 0 -27 -42 -45 -36 -26 -13 15.5 2.0 -17.5
13 -17 -20 -4 -24 -25 -42 -32 -21 -3 18.5 -7.0 -11.5
14 -19 -26 0 -30 -26 -42 -33 -22 -7 22.5 -6.0 -16.5
15 -20 -37 5 -31 -32 -46 -38 -20 -17 28.5 -1.5 -27.0
16 -24 -25 12 -28 -31 -42 -35 -23 -1 24.5 -11.5 -13.0
17 -26 -24 6 -27 -36 -44 -35 -25 2 25.0 -14.0 -11.0
18 -26 -30 -1 -28 -40 -48 -39 -27 -4 28.0 -11.0 -17.0
19 -20 -21 -4 -29 -35 -49 -39 -26 -1 20.5 -9.5 -11.0
20 -19 -10 4 -26 -37 -45 -33 -26 9 14.5 -14.0 -0.5
21 -15 -13 6 -25 -42 -48 -36 -27 2 14.0 -8.5 -5.5
22 -18 -21 0 -27 -36 -47 -36 -20 -3 19.5 -7.5 -12.0
23 -22 -25 -5 -33 -33 -45 -34 -25 -3 23.5 -9.5 -14.0
24 -19 -28 3 -31 -30 -44 -33 -29 -9 23.5 -5.0 -18.5
25 -22 -40 -1 -26 -38 -46 -36 -20 -18 31.0 -2.0 -29.0
26 -21 -26 -1 -22 -39 -41 -28 -22 -5 23.5 -8.0 -15.5
27 -21 -26 1 -28 -37 -43 -33 -23 -5 23.5 -8.0 -15.5
28 -20 -33 2 -34 -47 -49 -38 -24 -13 26.5 -3.5 -23.0
29 -18 -25 0 -37 -45 -48 -38 -25 -7 21.5 -5.5 -16.0
4970 -11 2 35 11 -5 1 19 -4 13 4.5 -12.0 7.5
4971 -18 7 37 11 6 8 26 2 25 5.5 -21.5 16.0
4972 -32 -6 38 10 4 8 29 5 26 19.0 -29.0 10.0
4973 -13 -5 32 10 -5 0 24 -1 8 9.0 -10.5 1.5
4974 16 -3 16 0 -14 -9 14 -13 -19 -6.5 17.5 -11.0
4975 27 0 14 1 -14 -8 10 -8 -27 -13.5 27.0 -13.5
4976 28 -11 14 1 -22 -16 -1 -15 -39 -8.5 33.5 -25.0
4977 28 -1 31 5 -17 -11 6 -10 -29 -13.5 28.5 -15.0
4978 19 2 33 1 -2 -5 11 -8 -17 -10.5 18.0 -7.5
4979 13 -3 20 5 -8 -7 8 -10 -16 -5.0 14.5 -9.5
4980 6 -2 28 3 -4 -6 12 -6 -8 -2.0 7.0 -5.0
4981 0 6 27 11 5 0 18 -4 6 -3.0 -3.0 6.0
4982 -5 -3 27 15 -2 -3 14 -7 2 4.0 -3.5 -0.5
4983 -2 -6 28 3 -5 -5 10 -10 -4 4.0 1.0 -5.0
4984 0 -3 25 8 0 -2 13 -9 -3 1.5 1.5 -3.0
4985 0 -5 28 11 0 -1 12 -8 -5 2.5 2.5 -5.0
4986 3 -10 24 9 -11 -7 9 -4 -13 3.5 8.0 -11.5
4987 3 -1 25 10 -3 -2 14 6 -4 -1.0 3.5 -2.5
4988 -1 0 27 7 2 1 14 8 1 0.5 -1.0 0.5
4989 0 -1 32 9 0 1 13 2 -1 0.5 0.5 -1.0
4990 -2 1 27 26 0 1 13 -2 3 0.5 -2.5 2.0
4991 -6 7 30 22 14 5 21 -2 13 -0.5 -9.5 10.0
4992 -7 1 26 10 16 1 18 3 8 3.0 -7.5 4.5
4993 7 -1 23 2 4 -3 14 -7 -8 -3.0 7.5 -4.5
4994 24 0 23 -1 -4 -5 11 -12 -24 -12.0 24.0 -12.0
4995 17 0 19 1 -6 -3 9 -7 -17 -8.5 17.0 -8.5
4996 8 -10 15 -1 -6 -5 6 -8 -18 1.0 13.0 -14.0
4997 4 -4 20 9 6 -2 12 -6 -8 0.0 6.0 -6.0
4998 6 4 21 6 5 0 11 -5 -2 -5.0 4.0 1.0
4999 7 -1 19 4 -6 -2 13 -8 -8 -3.0 7.5 -4.5

5000 rows × 12 columns

# 先看单个通道的波形
data_trans = np.array(data, dtype=np.float).transpose()
fig = plt.figure(num=1, figsize=(100,8),dpi=80)
x_ = np.arange(5000)
for i in range(0,1):
    plt.plot(x_, data_trans[i])
plt.show()

png

# 两个通道
fig = plt.figure(num=1, figsize=(100,8),dpi=80)
x_ = np.arange(5000)
for i in range(4,6):
    plt.plot(x_, data_trans[i])
plt.show()

png

# 全部通道,可以发现波形具有明显的重复
fig = plt.figure(num=1, figsize=(100,8),dpi=80)
x_ = np.arange(5000)
for i in range(0,12):
    plt.plot(x_, data_trans[i])
plt.show()

png

最后修改日期: 2019年9月27日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。