活動データの分析では、特定の時刻から遡って過去12時間分のデータを抽出し、歩数を集計することがよくあります。本記事では、Fitbitデータのエクスポート方法から、Pythonを用いた解析手順を詳しく解説します。
Fitbitデータのエクスポート手順
-
Fitbitのアカウントにログインします:
Fitbitエクスポートページ -
データエクスポート画面で対象の期間を選択します。
- 例: 2024年12月のデータを取得したい場合、「2024-12-01」から「2024-12-31」の範囲を指定。
-
ダウンロードされたデータは以下のようなディレクトリに保存されます。
/Users/ユーザー名/Downloads/Takeout/Fitbit/Physical Activity_GoogleData/
-
ファイル名は次のようになります:
steps_YYYY-MM-DD.csv
- 例:
steps_2024-12-01.csv
- 例:
Pythonで指定時刻の過去12時間分の歩数を計算する
Fitbitデータから、指定した日時を基準に過去12時間分の歩数を計算する方法を以下に示します。
必要なライブラリ
以下のライブラリを使用します。必要に応じてインストールしてください。
pip install pandas
Pythonコード例
import pandas as pd
from datetime import datetime, timedelta
# CSVファイルのパス(エクスポートしたFitbitデータのパスを指定)
file_path = '/Users/ユーザー名/Downloads/Takeout/Fitbit/Physical Activity_GoogleData/steps_2024-12-01.csv'
# CSVファイルを読み込み
df = pd.read_csv(file_path)
# タイムスタンプ(UTC)をdatetime形式に変換
df['timestamp'] = pd.to_datetime(df['timestamp'], utc=True)
# 日本時間(UTC+9)に変換し、タイムゾーンを削除
df['jtc'] = df['timestamp'].dt.tz_convert('Asia/Tokyo').dt.tz_localize(None)
# 指定した日時(例: 2024-12-13 12:18:00 JST)
specified_time = datetime(2024, 12, 13, 12, 18, 0)
# 指定した日時の12時間前(日本時間)
start_time = specified_time - timedelta(hours=12)
# 過去12時間のデータを抽出
filtered_df = df[(df['jtc'] >= start_time) & (df['jtc'] <= specified_time)]
# 過去12時間分の歩数を合計
total_steps = filtered_df['steps'].sum()
# 結果を出力
print(f"指定した日時(日本時間): {specified_time}")
print(f"指定した日時の12時間前(日本時間): {start_time}")
print(f"過去12時間分の歩数の合計: {total_steps}")
コードの説明
-
UTCタイムスタンプの読み込み:
df['timestamp'] = pd.to_datetime(df['timestamp'], utc=True)
Fitbitの
timestamp
列はUTC形式で記録されているため、UTCタイムゾーン付きの日時型に変換します。 -
日本時間への変換:
df['jtc'] = df['timestamp'].dt.tz_convert('Asia/Tokyo').dt.tz_localize(None)
UTCタイムスタンプを日本時間(JST: UTC+9)に変換し、タイムゾーン情報を削除します。
-
過去12時間の範囲を計算:
specified_time = datetime(2024, 12, 13, 12, 18, 0) start_time = specified_time - timedelta(hours=12)
指定時刻を基準に、その12時間前の範囲を計算します。
-
データの抽出と集計:
filtered_df = df[(df['jtc'] >= start_time) & (df['jtc'] <= specified_time)] total_steps = filtered_df['steps'].sum()
指定範囲内のデータを抽出し、
steps
列の合計を計算します。
実行結果
例えば、指定時刻を2024-12-13 12:18:00 JST
とした場合、過去12時間(2024-12-13 00:18:00 JST
から2024-12-13 12:18:00 JST
まで)の歩数データを集計します。
出力例:
指定した日時(日本時間): 2024-12-13 12:18:00
指定した日時の12時間前(日本時間): 2024-12-13 00:18:00
過去12時間分の歩数の合計: 150
注意点
-
ファイルパスの指定:
Fitbitのデータは以下のようなディレクトリに保存されるため、正しいパスを指定してください。/Users/ユーザー名/Downloads/Takeout/Fitbit/Physical Activity_GoogleData/steps_YYYY-MM-DD.csv
-
複数日分のデータ:
複数日分のデータを処理したい場合は、すべてのCSVファイルを結合して解析する必要があります。 -
範囲の調整:
計算対象の範囲を変更したい場合は、timedelta(hours=12)
を変更してください。
まとめ
この方法を使用すると、指定時刻を基準に過去12時間分の歩数データを効率的に集計できます。Fitbitデータの分析に役立ててください!