重复的级别名称:分配给级别1的“日期”已用于级别0

时间:2019-07-25 10:11:18

标签: python pandas group-by

我在尝试获取Python中多年平均值时遇到此错误。

所以我试试这个:

test = the_day.groupby([the_day.index.month, the_day.index.day]).mean()

我的df:

Date
2001-01-02    0.052074
2001-01-03    0.096074
2001-01-04    0.041127
2001-01-05   -0.041127
2001-01-08    0.011386
.....
2019-01-08    0.013486
2019-01-08    0.067386
2019-01-08    0.098386

1 个答案:

答案 0 :(得分:0)

我先使用df.col_name.dt.monthdf.col_name.dt.day重设索引。我认为它可以解决您的问题:

the_day.index.name = "time_index"
the_day = the_day.reset_index()
the_day["time_index"] = pd.to_datetime(the_day["time_index"])
the_day.groupby([the_day["time_index"].dt.month,the_day["time_index"].dt.day])["column_you_want_to_get_mean"].mean()

希望它能起作用!

编辑:根据评论修改答案。