Python、Pandas、データ解析はこちら。パンダを使用しています。DateOffsetでのローリング
私がしようとしているのは、大量のApacheサーバーログセットから60分の最も長い時間間隔を特定することです。ログからタイムスタンプを抽出しました。
time_recievedは、私の目標は、タイムスタンプのリストに沿って、私はそれらの点のいずれかで始まる60分間隔の数を取得することができますということです。この
[
1995-07-01T00:01:18-04:00,
1995-07-01T00:01:19-04:00,
1995-07-01T00:01:19-04:00,
1995-07-01T00:01:19-04:00,
1995-07-01T00:01:19-04:00,
1995-07-01T00:01:19-04:00,
1995-07-01T00:01:19-04:00,
1995-07-01T00:11:45-04:00,
1995-07-01T00:11:45-04:00,
1995-07-01T00:11:45-04:00,
1995-07-01T00:13:43-04:00,
1995-07-01T00:13:43-04:00,
1995-07-01T00:13:43-04:00,
1995-07-01T00:13:43-04:00,
1995-07-01T00:13:43-04:00,
1995-07-01T00:13:46-04:00,
1995-07-01T00:13:47-04:00,
1995-07-01T00:13:48-04:00,
1995-07-01T00:13:48-04:00,
1995-07-01T00:13:48-04:00,
1995-07-01T00:13:48-04:00,
1995-07-01T00:13:48-04:00,
1995-07-01T00:13:48-04:00,
1995-07-01T00:13:50-04:00,
1995-07-01T00:13:53-04:00,
1995-07-01T00:13:53-04:00,
1995-07-01T00:13:53-04:00,
1995-07-01T00:13:53-04:00,
1995-07-01T00:13:53-04:00,
1995-07-01T00:13:53-04:00,
1995-07-01T00:14:11-04:00,
1995-07-01T00:14:17-04:00,
1995-07-01T00:14:17-04:00,
1995-07-01T00:14:17-04:00,
1995-07-01T00:14:17-04:00,
1995-07-01T00:14:17-04:00,
1995-07-01T00:14:17-04:00,
1995-07-01T00:14:18-04:00,
1995-07-01T00:14:20-04:00,
1995-07-01T00:14:20-04:00,
1995-07-01T00:14:20-04:00,
1995-07-01T00:14:20-04:00,
1995-07-01T00:14:20-04:00,
1995-07-01T00:14:20-04:00,
1995-07-01T00:14:21-04:00,
1995-07-01T00:14:21-04:00,
1995-07-01T00:14:21-04:00,
1995-07-01T00:14:21-04:00,
1995-07-01T00:14:21-04:00,
1995-07-01T00:14:21-04:00,
1995-07-01T00:14:22-04:00,
1995-07-01T00:14:22-04:00,
1995-07-01T00:14:23-04:00,
1995-07-01T00:14:24-04:00,
1995-07-01T00:14:24-04:00,
1995-07-01T00:14:24-04:00,
1995-07-01T00:14:24-04:00,
1995-07-01T00:14:24-04:00,
1995-07-01T00:14:26-04:00,
1995-07-01T00:14:27-04:00,
1995-07-01T00:14:30-04:00,
1995-07-01T00:14:30-04:00,
1995-07-01T00:14:30-04:00,
1995-07-01T00:14:30-04:00,
1995-07-01T00:14:30-04:00,
1995-07-01T00:14:30-04:00,
1995-07-01T00:14:31-04:00,
1995-07-01T00:14:32-04:00,
1995-07-01T00:14:32-04:00,
1995-07-01T00:14:32-04:00,
1995-07-01T00:14:32-04:00,
1995-07-01T00:14:32-04:00,
1995-07-01T00:14:36-04:00,
]
のような値を持つリストであります。ローリングウインドウが出たら、私はそれを処理できると思う。パンダマニュアルの
: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.rolling.html 私は、ウィンドウ引数 」 ウィンドウに関する次のエントリが見つかりました:int型、または移動ウィンドウの サイズのオフセットこれは統計値を計算するために使用される観測数で、それぞれ。ウィンドウは固定サイズになります オフセットの場合、これは各ウィンドウの期間になります。各ウィンドウは、期間に含まれる観測値に基づいてサイズが変更されます。これはdatetimikkeのインデックスにのみ有効です。新しいです0.19.0 "
私はパンダを使用しています19.2オプションo時間の観測値に基づいて可変サイズのウィンドウを使用することは、正確に私が望むように聞こえる。だから私はそれを実装しようとした:
import pandas as pd
from pandas.tseries.offsets import DateOffset
def busiest_timeframe(data,timeframe = 60):
time_window = DateOffset(minutes = 60)
print (type(time_window))
series = pd.Series(data)
series.rolling(time_window).count()
return series
busiest_tf = busiest_timeframe(time_received)
私は次のエラーを取得: 昇給とValueErrorを私は使用していますいくつかの他のオフセットオブジェクトがある
ValueError: window must be an integer
(「ウィンドウは整数でなければなりませんか」)?このパンダの機能は動作しませんか?私はドキュメントを誤解しましたか?
ご協力いただきありがとうございます。
'series.rolling'は_time_ window_ではなく_number_個の観測値を処理します。したがって、最初のパラメータは整数でなければなりません。 – DyZ
ウィンドウではなく、リサンプラを探しているかもしれません: 'series.resample( '60M')。count()'。ただし、リサンプラはローリングしていないため、シリーズを60分のグループに分割するだけです。 – DyZ
DYZ pandasのドキュメントによれば、「オフセットの場合、これは各ウィンドウの時間間隔になります。各ウィンドウはtime_period ' –