2017-09-21 7 views
0

過去15分間のカラムのローリング平均(c1と呼ぶ)を計算したいと思います。 c1のデータ型は10進数です。私はnpとpdをインポートしました。そして、私がしたのはc2 = c1.rolling('900s').mean()です。これは15分* 60秒/分= 900秒であるからです。しかし、まだ分の時間形式を知りたい。誰かがこれで私を助けることができますか?また、誰かが私に年、月、四半期、曜日、時間などの他の時間形式を提供できる場合は、最高です。どうも。ローリング平均のPythonタイムフォーマット

まず、私はガウス雑音のデータ列との15分間の実行時間でインデックス化データフレームを構築する:私が正しくあなたを理解すると仮定すると

+0

ここにはいくつかのタイプミスがあります。 15 * 60 = 900?また、列のデータ型は何ですか? numpyを使用していますか?パンダ?ロールギアは回転するはずですか? – BHawk

答えて

0

>>> import pandas as pd 
>>> times = [pd.Timestamp(1996,5,6,11,m) for m in range(1,16)] 
>>> import random 
>>> v = [random.gauss(0,1) for m in range(1,16)] 
>>> df = pd.DataFrame({'V': v}, index=times) 

あなたの結果を複製します。

>>> df.rolling('900s').mean() 
          V 
1996-05-06 11:01:00 -1.263849 
1996-05-06 11:02:00 -0.806934 
1996-05-06 11:03:00 0.344626 
1996-05-06 11:04:00 0.497085 
1996-05-06 11:05:00 0.549562 
1996-05-06 11:06:00 0.554746 
1996-05-06 11:07:00 0.630223 
1996-05-06 11:08:00 0.650979 
1996-05-06 11:09:00 0.575184 
1996-05-06 11:10:00 0.576052 
1996-05-06 11:11:00 0.438371 
1996-05-06 11:12:00 0.577996 
1996-05-06 11:13:00 0.392422 
1996-05-06 11:14:00 0.292866 
1996-05-06 11:15:00 0.211225 

また、5分という意味もあります。これを行うには、Offset Aliasesにあるドキュメントを使用しました。

>>> df.rolling('5min').mean() 
          V 
1996-05-06 11:01:00 -1.263849 
1996-05-06 11:02:00 -0.806934 
1996-05-06 11:03:00 0.344626 
1996-05-06 11:04:00 0.497085 
1996-05-06 11:05:00 0.549562 
1996-05-06 11:06:00 0.918466 
1996-05-06 11:07:00 1.205086 
1996-05-06 11:08:00 0.834790 
1996-05-06 11:09:00 0.637663 
1996-05-06 11:10:00 0.602542 
1996-05-06 11:11:00 0.298720 
1996-05-06 11:12:00 0.504877 
1996-05-06 11:13:00 -0.021270 
1996-05-06 11:14:00 -0.215305 
1996-05-06 11:15:00 -0.518430 
関連する問題