如何根据时间段评估日志跟踪

时间:2018-07-27 06:36:17

标签: python pandas numpy matplotlib

我有一个日志跟踪数据集,我需要根据每分钟的请求查看它,我已经将它转换成这样的大熊猫,

   year    month  day  hour  Requests count
0   2018      6    1     0    114710.0
1   2018      6    1     1    115735.0
2   2018      6    1     2    130116.0
3   2018      6    1     3    133225.0
4   2018      6    1     4    128355.0
upto 24 Hour means whole day,

我们可以看到每小时都有数百万个请求,所以我想每分钟查看一次,我可以使用此脚本,

df['count'] = df.groupby(df.date.dt.minute)['requests'].count()

然后它将返回60个值,但是问题是我希望每个小时按顺序分配60分钟的值,因此它变成60 * 24 = 1440 requests per mins,对您有所帮助,谢谢

实际数据具有数百万个带有时间戳的值

1 个答案:

答案 0 :(得分:1)

示例数据中没有date列,但似乎需要dt.hour

rng = pd.date_range('2017-04-03 10:10:12', periods=100, freq='120T')
df = pd.DataFrame({'date': rng, 'requests': range(100)})  
#print (df)

df1 = df.groupby([df.date.dt.minute.rename('min'), 
                  df.date.dt.hour.rename('hour')])['requests'].count()
print (df1)
min  hour
10   0       8
     2       8
     4       8
     6       8
     8       8
     10      9
     12      9
     14      9
     16      9
     18      8
     20      8
     22      8
Name: requests, dtype: int64