見出し画像

体調記録の可視化

コロナ後遺症で私が一番厄介だと感じる症状は倦怠感です。
1時間座っているだけで疲れて息切れし、臥位で休息しないと回復しません。無理に動き続けると症状が悪化して翌日は30分も座っていられなくなったりします。
日によりますが、労作後の臥位休息時間は1時間は必要です。
日常生活の動作が減ったことで筋力が低下し、廃用性症候群で怠くなっているのではと医師から指摘されましたが、体調が良い日は2~3時間座っていても疲れないのでそれだけでは説明がつかないと思っています。

日にちの経過で体感的には良くなっている気がしていても、翌月は容赦なく悪化したりと波が大きいので安定しません。
波を繰り返しながらも全体として改善傾向なのか、感覚的なものだけでなく数値化して客観的に見たいと思って2023年1月からゆるりと記録をつけていました。
経過を可視化するのに非常に手間取ったので、備忘録として残しておこうかと思います。

データ概要

入力データは倦怠感の具合、その日の活動量などです。
あまり細かくつけると毎日やるのが嫌になるので超ザックリです。

主な数値説明
・倦怠感 (1:良 ~ 5:悪)※5はほぼ臥位で過ごす。
・家事  (1:無理 ~ 3:病前とほぼ同じ負荷)
・PC、庭 (それぞれ作業時間。庭=ガーデニング)
・睡眠  (1熟睡 2中途覚醒 3不眠)
・休息  (1:少ない ~ 5:多い)※日中の臥位休息時間。5は身辺の清潔以外臥位。
・活動量 (1:少ない ~ 5:多い)※日中のトータル活動量。5は外出2時間以上。病院受診や子どもの行事等で高くなる。
・その他・・・天気や気温、睡眠の深さや歩数を計測。備考でその日何をしたかメモ。

Pythonで集計・可視化

3月までまばらな入力だったので欠損値があり、まずはそれを処理。

df = pd.read_csv('longcovid_20230604.csv')

#日付データを時系列データに変換
df['日付'] = pd.to_datetime(df['日付'])
df = df.set_index('日付')

#不要列削除
df = df.drop(columns = ['曜日','備考','Unnamed: 17'])

#未入力行削除(thresh以上の有効値で行or列が残る)
df.dropna(thresh = 5,inplace=True,axis=0)

週ごとに倦怠感の値を平均化して折れ線グラフ描画します。
dfをdf2とdf3にコピーしてます。

#df用途別コピー
df2 = df.copy()#週ごと集計
df3 = df.copy()#月ごと集計

#週ごとの倦怠感推移
df2 = df2['倦怠感'].resample('w').mean()
df2.plot(x='日付', y='倦怠感', kind="line")

凸凹ばかりですね。。
わかりやすく右下がりに体調が回復していかないのがこの病気の特徴かもしれません。
5月から若干山の高さが低くなっているので、改善傾向と見えなくもないです。4月は調子が良い日が多かったので概ね体感と一致しました。

続いて、倦怠感の数値別件数を出してみました。
groopbyした後色分けしてグラフ描画したかったのですが、そのままだとうまくできなくて、一度csvに吐き出して再取り込みするとできました。
また追々スマートなやり方を模索したいです。

#月ごとの倦怠感件数を値別にカウント
df3 = df3.groupby(pd.Grouper(freq='M'))['倦怠感'].value_counts()
#csvデータ書き出し
df3_c.to_csv('月ごと倦怠感件数20230604.csv')
#読込、グラフ描画
df4 = pd.read_csv('月ごと倦怠感件数20230604.csv')
g = sns.catplot(x='日付', y='count', hue='倦怠感', data=df4,
                height=6, kind="bar", palette="muted")
g.despine(left=True)

欠損データがあるので1~3月は全体件数が少ないです。
4月だけ飛びぬけて体調が良いです。
Drより日中の臥位での休息が必要なくなったら復職目安かな、とあり私の記録上では倦怠感:1に該当するのですがまだまだですね。倦怠感:2の日は座位は数時間保持可能だったので、この状態が連日続くようになれば在宅ワークや近場のデスクワークなら働けるかもしれません。

その日の体調によって活動可能な上限があり、オーバーすると翌日以降体調が悪化します。日にちの経過でも徐々に良くなる人が多いそうですが、私の場合はまだ改善傾向にあるとはいえないかもしれません。
少々残念に思いますが、数値化することにより客観的に体調の経過を見ることができました。
取り敢えず負荷オーバーが一番よろしくないのですが、婦人科系の持病がありそちらの状況に引っ張られて体調が悪化する場合もあるので、一つずつ解決していけたらなと思います。日々の体調管理を続けます。

この記事が気に入ったらサポートをしてみませんか?