我是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))))

关于python - 时间序列中每天每秒,每小时的请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14269021/

10-15 06:01