pandasスライドウィンドウ解析

3520 ワード

文書ディレクトリ
  • **質問:30分以内に、あるフィールドで繰り返される回数がN値より大きい場合、情報を**
  • に記録します.
  • ソリューションを試みる
  • 質問:30分以内に、あるフィールドが重複した回数がN値より大きい場合、情報を記録します.
  • pandasスライドウィンドウ関数rollingを使用する
  • df.rolling(windows=n, freq=‘s’).sum()/meam()

  • 時間不連続の場合、計算タイプの関数を用いてNan値
  • を得る.
    ソリューションの試行
  • データの処理が必要な最大時間および最小時間
  • を取得する.
  • 計算時間差
  • 新しいDataFrame
  • を生成
  • 計算するデータを前のdfの
  • に更新する.
  • 分析
  • #                   
    N = 50
    max_time = df[-1]
    min_time = df[0]
    #      
    time_diff = (max_time - min_time).total_seconds() + 1
    new_index = pd.date_range(start=min_time, periods=time_diff, freq="S")
    #     DataFrame
    new_df = pd.DataFrame(data=0, index=new_index, columns['df columns name'])
    #             df 
    new_df.update(df)
    res = new_df.rolling(window=1800, freq='S').sum()
    result = res[(res['df columns name'] >= N)]