【问题标题】:Python Pandas groupby month day year weekPython Pandas groupby 月 日 年 周
【发布时间】:2017-03-06 03:53:40
【问题描述】:

我有一个看起来像这样的 pandas DataFrame:

Day    Month Year       Date Week Data1 Data2
  1  January 2016 01-01-2016    1    15    22
  2  January 2016 01-02-2016    1    16    26
 12  January 2016 01-12-2016    2    18    29
  8 February 2016 02-08-2016    2     9    17

我手动添加了星期列,它们是 int 类型。我想按周、月、年对数据进行分组,即:2016 年 1 月第 1 周、2016 年 1 月第 2 周、2016 年 2 月第 2 周。问题是我希望结果是一个 DataFrame,其中 Data1 是列和 Data2 的总和是列的平均值。

感谢您的帮助。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    我认为您可以使用groupby 后跟agg 进行所需的聚合。

    df.groupby(['Year', 'Month', 'Week']).agg({'Data1':'sum', 'Data2':'mean'})
    

    演示

    >>> df.groupby(['Year', 'Month', 'Week']).agg({'Data1':'sum', 'Data2':'mean'})
    
                        Data1  Data2
    Year Month    Week              
    2016 February 2         9     17
         January  1        31     24
                  2        18     29
    

    【讨论】:

      猜你喜欢
      • 2017-04-06
      • 1970-01-01
      • 2018-06-15
      • 2014-02-19
      • 2017-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多