使用Python和ggplot绘制平均值

时间:2015-01-27 19:28:58

标签: python graph ggplot2 bar-chart mean

我有以下代码生成的以下图表:

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'的平均值?而不仅仅是密谋' y'在Python中使用ggplot?

谢谢!

编辑:

所以,我想我真正需要的是一种每小时获得平均事件的方法(x)。目前,当我尝试这样做时,我会在所有小时内返回一个值相等的图表。

1 个答案:

答案 0 :(得分:1)

我不确定你的代码中y值的来源,但平均任何数据集的基本方法是将所有值加在一起,然后将总和除以值的数量。

因此,您可以使用这样的函数从值列表中生成平均值:

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