按1列以上分组,然后对另一列进行平均

时间:2018-11-28 14:30:18

标签: python-3.x average pandas-groupby

我有以下数据集:

     cod           date              value 
0   1O8        2015-01-01 00:00:00    2.1
1   1O8        2015-01-01 01:00:00    2.3
2   1O8        2015-01-01 02:00:00    3.5
3   1O8        2015-01-01 03:00:00    4.5
4   1O8        2015-01-01 04:00:00    4.4
5   1O8        2015-01-01 05:00:00    3.2
6   1O9        2015-01-01 00:00:00    1.4
7   1O9        2015-01-01 01:00:00    8.6
8   1O9        2015-01-01 02:00:00    3.3
10  1O9        2015-01-01 03:00:00    1.5
11  1O9        2015-01-01 04:00:00    2.4
12  1O9        2015-01-01 05:00:00    7.2

我想按cod和date(month)进行汇总,然后取平均值,就像这样:

                  value     
cod  date
1O8  2015-01-01    3.3
1O9  2015-01-01    4.9

我的数据具有以下类型:dtypes:object(1), datetime64[ns](1), float64(1)

我尝试使用.groupby()函数进行汇总:

df.groupby(['cod', 'date', 'value']).size().reset_index().groupby('value').mean()

但是没有产生正确的结果

1 个答案:

答案 0 :(得分:1)

使用Grouper

{{1}}

有关pbpython.com的其他信息