スポーツはじめにデータの概要データの取り出し方ヘルスケアアプリからXMLファイルを書き出すXMLファイルをcsvファイルに変換する分析例おわりにはじめに本記事では、iOS標準アプリ「ヘルスケア」からデータを書き出し、csvに変換する方法をまとめます。データの概要ヘルスケアアプリはiOSに標準で搭載され、日常の歩数などが記録されています。自分に身近なデータなので、分析の仮説も立てやすく、データ分析の題材として便利かと思います。手順は以下の通りです。ヘルスケアアプリからXMLファイルを書き出すXMLファイルをcsvファイルに変換するヘルスケアアプリからXMLファイルを書き出すまずはヘルスケアアプリからデータを書き出します。この時点でcsv形式になっているPythonなどで扱いやすいのですが、XMLファイルでしか書き出すことはできません。カレンダーの画面から右上の「人物アイコン」をクリックします。この画面の下部にある「ヘルスケアデータを書き出す」をクリックすると、いくつかの形式でデータが書き出せるようになります。メッセージGmailLINESlackなど例えばSlackに送ると、次のようにzip形式で圧縮されたXMLファイルがメッセージとして投稿されます。zipファイルを展開すると、以下のようになっています。「書き出したデータ.xml」に、歩数などのデータが格納されています。中身をエディタで閲覧すると、以下のような形式になっています。XMLファイルをcsvファイルに変換するここでは、Pythonを用いてXMLファイルをcsvファイルに変換します。tree.getroot()上記の操作で、rootという変数にデータが格納されています。あとは要件に応じてデータを加工するだけです。等しいデータのみを取り出します。df['stepCount'].astype(int)一定の日時ごとに、歩数のデータが記録されています。最後に、csv形式で保存しておきました。データ自体は読み込めているので、csv形式でファイルを保存せず、そのまま分析を続けるのも一つの手だと思います。index=False)分析例ここでは、分析の一例として、書き出した生データから、私の日次の歩数を可視化してみます。df.index.tz_convert('Asia/Tokyo')データは、日付+時刻の形式で格納されています。世界標準時で格納されているため、東京の時刻に変更しておきます。upura.hatenablog.com日次でまとめ上げるため、日付のみを取り出した列を作成しました。その後、その列をkeyにgroupbyすれば、日次の集計が可能です。df.groupby(['date']).sum()このDataFrameを折れ線グラフで可視化すると、次のようになりました。18plt.ylabel('stepCount')plt.plot(daySummary)2017年10月ごろと2019年1月ごろに大きく跳ねているのは、それぞれ以下の取り組みが原因ですね。集計できているようです。upura.hatenablog.comupura.hatenablog.comおわりに本記事では、iOS標準アプリ「ヘルスケア」からデータを書き出し、csvに変換する方法をまとめました。冒頭でも書いた通り、自分に身近なデータなので、データ分析の題材として扱いやすいかと思っています。初回公開時から89→90→85位に順位変動しました。月別アーカイブはてなブログをはじめよう!upuraさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。