ログデータを一定期間ごとに集計

ログデータを一定期間ごとに集計

↓のようなログデータを一定時間ごとに集計したい。

datetimearea
2017-01-01 00:19:04A
2017-01-01 00:57:06B
2017-01-01 01:11:50C
2017-01-01 01:29:28A
2017-01-01 01:36:43A
2017-01-01 01:42:17B
2017-01-01 01:54:22B
2017-01-01 02:10:51C
2017-01-01 03:07:43C
2017-01-01 03:41:04A
2017-01-01 03:57:11A
2017-01-01 04:25:50B
2017-01-01 04:59:47B
2017-01-01 05:01:06C
2017-01-01 05:18:54C
2017-01-01 06:28:33A
2017-01-01 06:34:22B
2017-01-01 07:27:21B
2017-01-01 08:19:43C
2017-01-01 09:07:34C

日付データのformatを”datetime”に変更。

フォーマット指定するやつ↓

  • %Y: 年
  • %m: 月
  • %d: 日
  • %H: 時
  • %M: 分
  • %S: 秒
1
2
format='%Y-%m-%d  %H:%M:%S'
df['datetime'] = pd.to_datetime(df['datetime'], format=format)

datetimeをindexに指定する。
datetimeを一時間刻みにする。

1
2
df = df.set_index('datetime')
df = df.to_period('H')

こんな感じになる↓

datetimearea
2017-01-01 00:00A
2017-01-01 00:00B
2017-01-01 01:00C
2017-01-01 01:00A
2017-01-01 01:00A
2017-01-01 01:00B
2017-01-01 01:00B
2017-01-01 02:00C
2017-01-01 03:00C
2017-01-01 03:00A
2017-01-01 03:00A
2017-01-01 04:00B
2017-01-01 04:00B
2017-01-01 05:00C
2017-01-01 05:00C
2017-01-01 06:00A
2017-01-01 06:00B
2017-01-01 07:00B
2017-01-01 08:00C
2017-01-01 09:00C
1
df["area"].resample('3H').count()

3時間毎に区切って数を表示。

datetimevalue
2017-01-01 00:008
2017-01-01 03:007
2017-01-01 06:004
2017-01-01 09:001
タグ ,

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×