列平均值无法从Python Panda到crossfilter正确计算

时间:2014-07-16 03:16:05

标签: python pandas ipython dc.js crossfilter

我希望你能原谅我......我可能会误导我的头衔。列正在正确计算......但不是我希望它们的方式。

我所拥有的是一个可以追溯到10年前的城市的每小时天气测量值(温度,降水等)。然后,我创建了一个数据框,将每个指标的平均值添加为每个小时的自己的列。

然后将此数据集输入dc.js,我根据需要汇总到不同的图表。

precipitation(以英寸为单位)外,一切都很好。简单地采用小时平均值是没有意义的...我需要总和然后是平均值...但是每次我卷起时我是否需要处理这个条件? (月,年等)

我有点担心如何做到这一点。下面是我的ipython笔记本链接和我的简短注释代码。非常感谢任何帮助

http://nbviewer.ipython.org/gist/Luiz-N/96477b1e327169d010c6

1 个答案:

答案 0 :(得分:1)

啊,你评论的最新图片现在有道理。

enter image description here 如果此图表是独立的(意味着它不需要反映其他过滤器),您可以尝试预处理月平均值,然后将该平均值添加到您的组总和中。

    function reduceAdd(p, v) {
      p.average = monthlyPrecip(v.month);
      p.actual += v.precip;
      return p;
    }

    function reduceRemove(p, v) {
      p.actual -= v.precip;
      return p;

    }

    function reduceInitial() {
      return {actual: 0, average: 0};  
    }

从那里,您可以使用两个数据点构建复合图表。

这听起来像你在找什么?