質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

2回答

2160閲覧

pnadasを使った時系列解析で特徴的な波形の個数をカウントしたい

moseushi_cho

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

1クリップ

投稿2018/08/07 08:29

編集2018/08/07 09:34

pandasを使った時系列解析で、閾値を超えた回数のカウントを行いたいです。
解析対象は、添付の画像のように、基準値からランダムに動くデータです。
このデータが、閾値を超えた回数をカウントしたいです。

イメージ説明

解析プログラムはpythonでの実装を考えております。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

添付の画像がないのでよくわからないのですが、こういう事ですか?

Python

1# 前回の値が閾値未満、今回の値が閾値以上の行をカウント 2n = df[(df['Value'].shift(-1) < threshold) & (df['Value'] >= threshold)].count()

投稿2018/08/07 09:25

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moseushi_cho

2018/08/07 09:36

早速のご連絡ありがとうございます。 画像が添付されていなかったので更新いたしました。 使用されているコードについて調べましたが、おそらく、ご提示いただいたコードであっていると思います。 コードを試してうまくいきましたら解決済みとさせていただきます。
moseushi_cho

2018/08/09 12:44

ありがとうございました。 データを使って試した結果うまくいきました。
guest

0

少しマニアックですが、波形の特徴を数値化して判定するアプローチを考えてみました。
<考え方>
ひとつの波形を基準値からスタートしてプラスのピーク、マイナスのピーク、基準値と推移するサイクルとします。例示の図から標準的波形はそのサイクル内に観測されるデータの平均値は基準値に近似し、特徴的波形は基準値から外れているはずです。そこで、このサイクル内の平均値を特徴量として外れ値判定を使うことで特徴的波形を識別できるはずです。
<ステップ>
1.サイクル単位の平均をnumpy.meanを使って計算。
2.参考に上記を使ってヒストグラムを作成して、基準値を中心にした正規分布と外れ値を観測する。
3.上記のヒストグラムを踏まえて標準的波形の平均値をサンプリング。
4.サンプリングしたデータから平均と標準偏差を計算。
5.scipy.stats.norm.pdf関数を使って項番4で求めた平均、標準偏差のもとでサイクル単位の平均値が観測される確率を全サイクル単位の平均値に対して計算。
6.上記の結果を評価。結果は得られたサイクル単位の平均値が標準的波形の分布において出現する確率なので、基準値に近ければ大きく、離れていると小さくなる。評価用の閾値は項番2のヒストグラムをもとに設定。

この方法だと例示の逆パターンも検出できます。まあ、magichanさんのシンプルにニーズに応えているのでそれでいい気がします

投稿2018/08/08 09:21

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

moseushi_cho

2018/08/09 12:44

ありがとうございます。 思いつかなった方法でした!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問