Skip to main content
 首页 » 编程设计

python之时间序列中每秒、每小时、每天的请求数

2025年05月04日9qq号

我对 R 比较陌生,这是我第一次尝试使用它来实际分析一些数据。问题如下:我有一个 CSV 文件,其中包含以下形式的给定系统服务请求数的日志:

# Unix timestamp, number of requests 
1354810257,241624 
1354810258,244759 
1354810259,245307 
1354810260,248961 

目前文件包含与一周相关的信息。现在我需要获得一个图表,显示系统每秒、每小时和每天能够承受多少请求。

请您参考如下方法:

我使用 Python 和 matplotlib 解决了这个问题。代码与此类似:

import csv 
from pylab import * 
from itertools import groupby 
 
def by_hour(value): 
    return value[0] // 3600 
 
def plot_data_for(data, map_, reduce_): 
    keys = [] 
    values = [] 
    for k,v in groupby(data, key=map_): 
        keys.append(k) 
        values.append(reduce_(v)) 
    return (keys, values) 
 
times = [] 
requests = [] 
reader = csv.reader(open("results.csv")) 
 
for row in reader: 
    times.append(int(row[0])) 
    requests.append(int(row[1])) 
 
increments = map(lambda x: x[1] - x[0], zip(requests, requests[1:] + [requests[-1]])) 
plot(*plot_data_for(zip(times, increments), by_hour, lambda values: sum(map(lambda x: x[1], values))))