見出し画像

Power BI応用-6/筋電図の分析・前半

割引あり

こんにちはロック204チャンネルです。
今回は「Power BI応用6 筋電図の分析・前半」をお送りします。

最初に筋電図データを取り込みます。
サンプルデータ「quick.xlsx」はYouTube説明欄のnoteのアドレスをご参照ください。
Power BIを立ち上げ「ホーム」よりエクセルブックマークをクリックし、ダウンロードしたサンプルデータを取り込んでください。

sample data

サンプルデータはナビゲータより、「quick」をクリックすると、右の図のような表示となります。
このデータより、左2行、「シーケンス番号」と「CH01」列を「データ変換」をして取り込みます。

こちらが取り込まれたデータです。
「no」は、「シーケンス番号」の値で、データーを取り込んだ順に番号が振られています。サンプリング間隔は1/1000秒となっています。
二列目は、筋電図の源波形で「CH01」を「EMG」に名前変更しています。

今回はこの二列を使用し、Pythonスクリプトで加工し列を追加して行きます。
追加する列は、「sec」として「no」を秒に変換したもの。
「EMG01」列、基線を0に調整したもの。
「R_EMG01」列、「EMG01」の整流波形。
「m_av」列、「R_EMG01」の21項移動平均。
「IEMG01」列「m_av」の積分値。
となります。



Pythonスクリプトを入力するには、パワークエリより「変換」、次に「Pythonスクリプトを実行」ボタンをクリックします。
するとPythonスクリプトエディターが表示されますので空欄にスクリプトを入力して行きます。

スクリプトを実行すると列が追加されますが作業用データフレームを使用した影響で空白行も追加されてしまいますので下の図のようにして空白行を非表示としてください。

こちらがPythonスクリプトの前半になります。
Pandasモジュールをインポートした後、3行で「no」に0.0001をかけて秒に変換し「sec」列を作成します。
4行では、源波形の基線を求めるため「EMG」列の平均値を求めます。
5行は、源波形「EMG」より平均値mを除算し基線を0とした「EMG01」列を求めています。
6行目は、「EMG01」の絶対値をabs関数を使用し求め整流処理しています。
7行目は、このデータを平滑化するために21項移動平均を求め「m_av」列に格納しています。

ここから先は

732字 / 4画像

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