вычислите прошедшее время между рядами

 |   uploadedby   |     uploaddate     |
    Gracey Vinas  | 2012-04-20 20:16:00
    Gracey Vinas  | 2012-04-20 20:25:00
    Gracey Vinas  | 2012-04-20 20:35:00
    Gracey Vinas  | 2012-04-20 20:39:00
    Gracey Vinas  | 2012-04-20 22:07:00
    Gracey Vinas  | 2012-04-21 00:04:00
    Gracey Vinas  | 2012-04-21 01:14:00
    Gracey Vinas  | 2012-04-23 17:56:00
    Gracey Vinas  | 2012-04-23 18:06:00
    Gracey Vinas  | 2012-04-23 18:21:00
    Gracey Vinas  | 2012-04-23 19:04:00
    Gracey Vinas  | 2012-04-23 19:11:00
    Gracey Vinas  | 2012-04-23 19:24:00
    Gracey Vinas  | 2012-04-23 20:08:00
    Gracey Vinas  | 2012-04-23 20:22:00
    Gracey Vinas  | 2012-04-23 21:00:00
    Gracey Vinas  | 2012-04-23 22:04:00
    Gracey Vinas  | 2012-04-23 22:17:00
    Gracey Vinas  | 2012-04-23 22:29:00
    Gracey Vinas  | 2012-04-23 23:02:00
    Gracey Vinas  | 2012-04-23 23:48:00
    Gracey Vinas  | 2012-04-24 00:23:00
    Gracey Vinas  | 2012-04-24 01:54:00
    Gracey Vinas  | 2012-04-24 17:13:00
    Gracey Vinas  | 2012-04-24 17:32:00
    Gracey Vinas  | 2012-04-24 17:38:00
    Gracey Vinas  | 2012-04-24 17:45:00
    Gracey Vinas  | 2012-04-24 17:54:00

Как я получаю среднее прошедшее время для каждой закачки по дате в msql.напр. (Среднее прошедшее время для каждой закачки 2012-04-20 (разность времени ряда 1 и ряда 2 (9 минут) + разность времени ряда 2 и ряда 3 (10 минут) + разница во времени ряда 3 и ряда 4 (4 минуты) + разница во времени для ряда 4 и ряда 5 (92 минуты)/4 =, Среднее прошедшее время составляет 28.75 минут.

0
nl ja de
Есть ошибка в вашем вычислении в разности в качестве примера между временами в row4, и row5 составляет 88 минут а не 92, также если вы хотите получить больше взглядов, необходимо добавить некоторые признаки, т.е. питона
добавлено автор Bula, источник

1 ответы

Вы не определили язык, таким образом, есть решение для питона:

from re import search
from itertools import groupby
from operator import itemgetter
from datetime import datetime

elapsed = []
averages = []
with open("log.txt","r") as f:
    for line in f:
        date = search("\d{4}-\d{2}-\d{2}",line)
        time = search("\d{2}:\d{2}:\d{2}",line)
        if (date and time):
            elapsed.append((date.group(),datetime.strptime(time.group(),'%H:%M:%s')))
    for date,times in groupby(elapsed,itemgetter(0)):
        times = list(times)
        averages.append((date,(times[-1][1]-times[0][1]).seconds/60./(len(times)-1)))

for avg in averages:
    print 'On date %s average minutes downloading is %.2f' % avg

Продукция для ваших данных в log.txt файл:

On date 2012-04-20 average minutes downloading is 27.75
On date 2012-04-21 average minutes downloading is 70.00
On date 2012-04-23 average minutes downloading is 27.08
On date 2012-04-24 average minutes downloading is 175.17
0
добавлено
Никакая проблема просто необходимо прояснить с надлежащим признаком.
добавлено автор Bula, источник
Жаль об этом. I' m использующий mysql.
добавлено автор rain, источник