Python (pandas) で指定時間間隔でデータを集計する方法
Python (pandas)を使って指定時間間隔のログを集計する方法
やりたかったこと
タイムスタンプ(datetime)列があるcsvデータで、ある時間範囲にある行数をカウントしたい。(5分おき、15分おき、30分おき、1時間おき、など)
pandasのresampleを使うと簡単にできます♪
import pandas as pd import numpy as np csv_files = ['1_file.csv', '2_file.csv', '3_file.csv', '4_file.csv'] FILE_HEAD='file_' for csv_file in csv_files: df = pd.read_csv(csv_file, parse_dates=True, index_col='datetime') df.resample('5T').count().rename(columns={'val': 'count'})['count'].to_csv(FILE_HEAD + csv_file[0] + '_05m.csv') df.resample('15T').count().rename(columns={'val': 'count'})['count'].to_csv(FILE_HEAD + csv_file[0] + '_15m.csv') df.resample('30T').count().rename(columns={'val': 'count'})['count'].to_csv(FILE_HEAD + csv_file[0] + '_30m.csv') df.resample('60T').count().rename(columns={'val': 'count'})['count'].to_csv(FILE_HEAD + csv_file[0] + '_60m.csv')