2015-12-09 2 views
-2

Я работаю над окончательным проектом для своего класса программирования, и у меня возникают проблемы с сравнением списков, чтобы найти, как найти почасовую статистику (среднее и стандартное отклонение). То, что было дано, составляло данные о времени вызова и время, когда оно было получено, и что мне нужно сделать, это выяснить статистику каждого дня. Итак, у меня есть два списка, один из дней в году и один из времени в военные часы, как мне создать список данных ежедневных вызовов? Пример:Как найти соответствующие значения для соответствующих списков в python?

day_list = [1,1,1,2,2,2,3,3,3] 
time_list = [0100,1200,1300,0010,1000,2040,1202,1346,2100] 

Так что список дня, это каждый номер соответствует дню в году. (1 = январь первый, 2 = январь второй, 3 = январь третий и т. Д. Он доходит до 365.) И каждый раз значение соответствует тому же месту для day_list (0100 идет с 1, 0010 идет с 2 , а 1346 - с 3). Я хочу создать новый список, чтобы я мог найти среднее и стандартное отклонение на каждый день. И снова, значения должны соответствовать размещению. Пример:

mean = [866, 1016, 1549] 

Таким образом, новый список должен иметь 365 значений, почасовое среднее значение в день.

ответ

-1

Вы можете комбинировать оба список с zip, групповыми данными за каждый день с groupby и, наконец, вычислить среднее значение ежедневных значений, используя стандартную библиотеку statistics модуля mean функции.

from itertools import groupby 
from statistics import mean 

day_list = [1, 1, 1, 2, 2, 2, 3, 3, 3] 
time_list = [100, 1200, 1300, 10, 1000, 2040, 1202, 1346, 2100] 

combined = zip(day_list, time_list) 
grouped = groupby(combined, lambda x: x[0]) 

mean_values = [] 
for day, results in grouped: 
    print("Day: %d" % day) 
    daily_values = [r[1] for r in results] 
    print(daily_values) 
    mean_values.append(mean(daily_values)) 

print(mean_values) 
Смежные вопросы