2015-01-27 2 views
1

У меня следующий график, полученный с помощью кода ниже:Plotting средних значений с использованием Python и ggplot

enter image description here

from pandas import * 
from ggplot import * 

plot = ggplot(data, aes('x','y')) \ #from dataframe 'data', columns x and y 
+ geom_bar(stat='bar', fill='blue') + ggtitle('Graph of X and Y') \ 
+scale_x_continuous(name="X-Axis", breaks=[0, 4, 8, 12, 16, 20, 23], \ 
        labels=["Midnight", "4:00am", "8:00am", "12:00pm","4:00pm","8:00pm","11:00pm"])\ 
+ylab("Y-Axis") + xlim(0, 23) 

print plot 

переменных, отражаемые у представляет собой подсчет числа событий в час свыше период в несколько недель. Я хочу рассчитать среднее количество событий ежечасно, а не общее количество событий, ежечасно за этот период времени.

Как скопировать среднее значение 'y' вместо того, чтобы просто нарисовать 'y', используя ggplot в Python?

Спасибо!

EDIT:

Итак, я полагаю, что мне действительно нужно, это способ получить Avg Y события в час (х). В настоящее время, когда я пытаюсь это сделать, я возвращаю график с равными значениями за все часы.

ответ

1

Я не уверен, где значения y исходят из вашего кода, но основной способ усреднения любого набора данных включает в себя объединение всех значений вместе, а затем деление суммы на количество значений.

Так что вы можете использовать функцию, как это производить в среднем из списка значений:

def average(list_): 
    output = 0 
    for i in list_; 
     output += i 
    output /= len(list_) 
    return output 
+0

Спасибо за вашу помощь. Я попробовал это быстро и получил некоторые ошибки. Я немного поработаю над этим и дам вам знать, как это происходит. –