디바이스 : Polar H10
취득앱 : Android Polar Equine
일시 : 2023/12/07 18시 10분에서 5분간 정
자세 : 기립한 자세로 특별한 움직임은 없었음
헤더의 비데이터 부분은 삭제
0.808 413 1.091 420 1.538 428 1.593 436 1.04 444 |
1. Header 삭제
2. 데이터 구조
[ECG 강도(mV)] [Milli Second] [스페이스]
마지막에 쓸데없는 스페이스가 붙어 있다. pandas에서 sep=' ' 로 읽어 들일시 스페이스가 더미 칼럼으로 생성된다.
3. pandas 로 읽어 들이기
스페이스로 구분했을때 3번째 칼럼으로 더미가 생기기 때문에 일단 'dummy' 라는 헤더로 읽어 들인다.
import pandas as pd
df = pd.read_csv('ECG_12.7.23_18.15.02.csv', sep=' ', names=['mV', 'ms', 'dummy'])
df.head()
mV ms dummy 0 0.808 413 NaN 1 1.091 420 NaN 2 1.538 428 NaN 3 1.593 436 NaN 4 1.040 444 NaN |
4. ms, dummy 칼럼을 삭제
inplace=True 옵션을 넣어서 자체적으로 칼럼을 삭제
※ sample Hz를 알기 때문에 ms 도 불필요
df.drop(['ms','dummy'], axis=1, inplace=True)
mV 0 0.808 1 1.091 2 1.538 3 1.593 4 1.040 |
5. 초기는 노이즈가 많기 때문에 30초를 건너뜀
data = self.product._data["mV"].to_numpy() # 초기 30초 버리기 -> 샘플링 수 x 30초 skip_secs = 130 * 30 data = data[skip_secs:] |
6. 일부(1000 ~ 2000 로우)를 그래프로 표현
plt.title("ECG 130Hz") plt.plot(data, color='blue', label='Raw') plt.xlabel("Time miliseconds") plt.xlim(0,3000) plt.legend() plt.show() |
'Health > 심전도(ECG) 분석' 카테고리의 다른 글
6. Heart Rate Variability (HRV) (1) | 2024.01.07 |
---|---|
5. R-R Intervals (1) | 2024.01.07 |
4. Peak(R) detection (Revised) (0) | 2023.12.13 |
3. 시그널 전처리 (Revised) (1) | 2023.12.09 |
1. 심전도 분석에 관해 (2) | 2023.12.03 |