我的数据框如下:
value identifier
2007-01-01 0.781611 55
2007-01-01 0.766152 56
2007-01-01 0.766152 57
2007-02-01 0.705615 55
2007-02-01 0.032134 56
2007-02-01 0.032134 57
2008-01-01 0.026512 55
2008-01-01 0.993124 56
2008-01-01 0.993124 57
2008-02-01 0.226420 55
2008-02-01 0.033860 56
2008-02-01 0.033860 57
如何通过标识符列中的值进行聚合,如下所示:
value
2007-01-01 0.766 # (average of identifiers 55, 56 and 57 for this date)
2007-02-01 0.25
2008-01-01 etc...
2008-02-01
答案 0 :(得分:1)
如果您的索引是日期时间,那么您可以访问.date
属性,如果不是,您可以使用df.index = pd.to_datetime(df.index)
转换它,然后在日期执行groupby并计算均值:
In [214]:
df.groupby(df.index.date)['value'].mean()
Out[214]:
2007-01-01 0.771305
2007-02-01 0.256628
2008-01-01 0.670920
2008-02-01 0.098047
Name: value, dtype: float64