Fitbit을 이용해 얻은 활동량 Time Series(시계열) 데이터 분석
- 시계열 데이터 numpy 배열로 변환
- matplotlib을 이용하여 데이터 시각화
- 데이터 분석
json data 기본 형식(dataset 일부 추출)
'distance':
{'activities-distance': [
{'dateTime': '2021-11-18',
'value': '0'
}
],
'activities-distance-intraday':
{'dataset': [
{'time': '09:00:00', 'value': 0},
{'time': '09:01:00', 'value': 0},
{'time': '09:02:00', 'value': 0},
],
'datasetInterval': 1,
'datasetType': 'minute'
}
},
'calories':
{
'activities-calories': [
{'dateTime': '2021-11-18',
'value': '63.65'
}
],
'activities-calories-intraday':
{'dataset': [
{'level': 0, 'mets': 10, 'time': '09:00:00', 'value': 1.0608},
{'level': 0, 'mets': 10, 'time': '09:01:00', 'value': 1.0608},
],
'datasetInterval': 1,
'datasetType': 'minute'
}
},
'steps':
{'activities-steps': [
{
'dateTime': '2021-11-18',
'value': '0'
}
],
'activities-steps-intraday':
{'dataset': [
{'time': '09:00:00', 'value': 0},
{'time': '09:01:00', 'value': 0},
{'time': '09:59:00', 'value': 0}
],
'datasetInterval': 1,
'datasetType': 'minute'
}
}
}
Json raw_data sample
{'distance': {'activities-distance': [{'dateTime': '2021-04-07', 'value': '0'}], 'activities-distance-intraday': {'dataset': [{'time': '09:00:00', 'value': 0}, {'time': '09:01:00', 'value': 0}, {'time': '09:02:00', 'value': 0}, {'time': '09:03:00', 'value': 0}, {'time': '09:04:00', 'value': 0}, {'time': '09:05:00', 'value': 0}, {'time': '09:06:00', 'value': 0}, {'time': '09:07:00', 'value': 0}, {'time': '09:08:00', 'value': 0}, {'time': '09:09:00', 'value': 0}, {'time': '09:10:00', 'value': 0}, {'time': '09:11:00', 'value': 0}, {'time': '09:12:00', 'value': 0}, {'time': '09:13:00', 'value': 0}, {'time': '09:14:00', 'value': 0}, {'time': '09:15:00', 'value': 0}, {'time': '09:16:00', 'value': 0}, {'time': '09:17:00', 'value': 0}, {'time': '09:18:00', 'value': 0}, {'time': '09:19:00', 'value': 0}, {'time': '09:20:00', 'value': 0}, {'time': '09:21:00', 'value': 0}, {'time': '09:22:00', 'value': 0}, {'time': '09:23:00', 'value': 0}, {'time': '09:24:00', 'value': 0}, {'time': '09:25:00', 'value': 0}, {'time': '09:26:00', 'value': 0}, {'time': '09:27:00', 'value': 0}, {'time': '09:28:00', 'value': 0}, {'time': '09:29:00', 'value': 0}, {'time': '09:30:00', 'value': 0}, {'time': '09:31:00', 'value': 0}, {'time': '09:32:00', 'value': 0}, {'time': '09:33:00', 'value': 0}, {'time': '09:34:00', 'value': 0}, {'time': '09:35:00', 'value': 0}, {'time': '09:36:00', 'value': 0}, {'time': '09:37:00', 'value': 0}, {'time': '09:38:00', 'value': 0}, {'time': '09:39:00', 'value': 0}, {'time': '09:40:00', 'value': 0}, {'time': '09:41:00', 'value': 0}, {'time': '09:42:00', 'value': 0.0028}, {'time': '09:43:00', 'value': 0}, {'time': '09:44:00', 'value': 0}, {'time': '09:45:00', 'value': 0}, {'time': '09:46:00', 'value': 0}, {'time': '09:47:00', 'value': 0}, {'time': '09:48:00', 'value': 0}, {'time': '09:49:00', 'value': 0}, {'time': '09:50:00', 'value': 0}, {'time': '09:51:00', 'value': 0}, {'time': '09:52:00', 'value': 0}, {'time': '09:53:00', 'value': 0}, {'time': '09:54:00', 'value': 0}, {'time': '09:55:00', 'value': 0}, {'time': '09:56:00', 'value': 0}, {'time': '09:57:00', 'value': 0}, {'time': '09:58:00', 'value': 0}, {'time': '09:59:00', 'value': 0}], 'datasetInterval': 1, 'datasetType': 'minute'}}, 'calories': {'activities-calories': [{'dateTime': '2021-04-07', 'value': '67.04'}], 'activities-calories-intraday': {'dataset': [{'level': 0, 'mets': 11, 'time': '09:00:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:01:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:02:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:03:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:04:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:05:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:06:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:07:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:08:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:09:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:10:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:11:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:12:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:13:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:14:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:15:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:16:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:17:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:18:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:19:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:20:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:21:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:22:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:23:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:24:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:25:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:26:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:27:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:28:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:29:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:30:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:31:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:32:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:33:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:34:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:35:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:36:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:37:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:38:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:39:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:40:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:41:00', 'value': 1.16688}, {'level': 1, 'mets': 22, 'time': '09:42:00', 'value': 2.33376}, {'level': 0, 'mets': 10, 'time': '09:43:00', 'value': 1.0608}, {'level': 0, 'mets': 10, 'time': '09:44:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:45:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:46:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:47:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:48:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:49:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:50:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:51:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:52:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:53:00', 'value': 1.16688}, {'level': 0, 'mets': 10, 'time': '09:54:00', 'value': 1.0608}, {'level': 0, 'mets': 11, 'time': '09:55:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:56:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:57:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:58:00', 'value': 1.16688}, {'level': 0, 'mets': 11, 'time': '09:59:00', 'value': 1.16688}], 'datasetInterval': 1, 'datasetType': 'minute'}}, 'steps': {'activities-steps': [{'dateTime': '2021-04-07', 'value': '4'}], 'activities-steps-intraday': {'dataset': [{'time': '09:00:00', 'value': 0}, {'time': '09:01:00', 'value': 0}, {'time': '09:02:00', 'value': 0}, {'time': '09:03:00', 'value': 0}, {'time': '09:04:00', 'value': 0}, {'time': '09:05:00', 'value': 0}, {'time': '09:06:00', 'value': 0}, {'time': '09:07:00', 'value': 0}, {'time': '09:08:00', 'value': 0}, {'time': '09:09:00', 'value': 0}, {'time': '09:10:00', 'value': 0}, {'time': '09:11:00', 'value': 0}, {'time': '09:12:00', 'value': 0}, {'time': '09:13:00', 'value': 0}, {'time': '09:14:00', 'value': 0}, {'time': '09:15:00', 'value': 0}, {'time': '09:16:00', 'value': 0}, {'time': '09:17:00', 'value': 0}, {'time': '09:18:00', 'value': 0}, {'time': '09:19:00', 'value': 0}, {'time': '09:20:00', 'value': 0}, {'time': '09:21:00', 'value': 0}, {'time': '09:22:00', 'value': 0}, {'time': '09:23:00', 'value': 0}, {'time': '09:24:00', 'value': 0}, {'time': '09:25:00', 'value': 0}, {'time': '09:26:00', 'value': 0}, {'time': '09:27:00', 'value': 0}, {'time': '09:28:00', 'value': 0}, {'time': '09:29:00', 'value': 0}, {'time': '09:30:00', 'value': 0}, {'time': '09:31:00', 'value': 0}, {'time': '09:32:00', 'value': 0}, {'time': '09:33:00', 'value': 0}, {'time': '09:34:00', 'value': 0}, {'time': '09:35:00', 'value': 0}, {'time': '09:36:00', 'value': 0}, {'time': '09:37:00', 'value': 0}, {'time': '09:38:00', 'value': 0}, {'time': '09:39:00', 'value': 0}, {'time': '09:40:00', 'value': 0}, {'time': '09:41:00', 'value': 0}, {'time': '09:42:00', 'value': 4}, {'time': '09:43:00', 'value': 0}, {'time': '09:44:00', 'value': 0}, {'time': '09:45:00', 'value': 0}, {'time': '09:46:00', 'value': 0}, {'time': '09:47:00', 'value': 0}, {'time': '09:48:00', 'value': 0}, {'time': '09:49:00', 'value': 0}, {'time': '09:50:00', 'value': 0}, {'time': '09:51:00', 'value': 0}, {'time': '09:52:00', 'value': 0}, {'time': '09:53:00', 'value': 0}, {'time': '09:54:00', 'value': 0}, {'time': '09:55:00', 'value': 0}, {'time': '09:56:00', 'value': 0}, {'time': '09:57:00', 'value': 0}, {'time': '09:58:00', 'value': 0}, {'time': '09:59:00', 'value': 0}], 'datasetInterval': 1, 'datasetType': 'minute'}}}
- 2021.04.07 09:00:00 ~ 2021.11.18 09:00:00
- dateTime, data index, time(1분 간격)
- distance(value), calories(level, mets, value), steps(value)
- time - distance(value), calories(level, mets, value), steps(value)