Python Dataframe如何通过多年来分组

时间:2017-06-08 06:45:49

标签: python pandas pandas-groupby

我有一个如下数据集:

date = 
2012-01-01    NaN    NaN     NaN
2012-01-02    NaN    NaN     NaN
2012-01-03    NaN    NaN     NaN
2012-01-04  0.880  2.981 -0.0179
2012-01-05  0.857  2.958 -0.0261
2012-01-06  0.858  2.959  0.0012
2012-01-07    NaN    NaN     NaN
2012-01-08    NaN    NaN     NaN
2012-01-09  0.880  2.981  0.0256
2012-01-10  0.905  3.006  0.0284
2012-01-11  0.905  3.006  0.0000
2012-01-12  0.902  3.003 -0.0033
2012-01-13  0.880  2.981 -0.0244
2012-01-14    NaN    NaN     NaN
2012-01-15    NaN    NaN     NaN
2012-01-16  0.858  2.959 -0.0250
2012-01-17  0.891  2.992  0.0385
2012-01-18  0.878  2.979 -0.0146
2012-01-19  0.887  2.988  0.0103
2012-01-20  0.899  3.000  0.0135
2012-01-21    NaN    NaN     NaN
2012-01-22    NaN    NaN     NaN
2012-01-23    NaN    NaN     NaN
2012-01-24    NaN    NaN     NaN
2012-01-25    NaN    NaN     NaN
2012-01-26    NaN    NaN     NaN
2012-01-27    NaN    NaN     NaN
2012-01-28    NaN    NaN     NaN
2012-01-29    NaN    NaN     NaN
2012-01-30  0.892  2.993 -0.0078
...           ...    ...     ...
2016-12-02  1.116  3.417 -0.0124
2016-12-03    NaN    NaN     NaN
2016-12-04    NaN    NaN     NaN
2016-12-05  1.111  3.412 -0.0045
2016-12-06  1.111  3.412  0.0000
2016-12-07  1.120  3.421  0.0081
2016-12-08  1.113  3.414 -0.0063
2016-12-09  1.109  3.410 -0.0036
2016-12-10    NaN    NaN     NaN
2016-12-11    NaN    NaN     NaN
2016-12-12  1.072  3.373 -0.0334
2016-12-13  1.075  3.376  0.0028
2016-12-14  1.069  3.370 -0.0056
2016-12-15  1.069  3.370  0.0000
2016-12-16  1.073  3.374  0.0037
2016-12-17    NaN    NaN     NaN
2016-12-18    NaN    NaN     NaN
2016-12-19  1.071  3.372 -0.0019
2016-12-20  1.067  3.368 -0.0037
2016-12-21  1.076  3.377  0.0084
2016-12-22  1.076  3.377  0.0000
2016-12-23  1.066  3.367 -0.0093
2016-12-24    NaN    NaN     NaN
2016-12-25    NaN    NaN     NaN
2016-12-26  1.041  3.372  0.0047
2016-12-27  1.042  3.373  0.0010
2016-12-28  1.038  3.369 -0.0038
2016-12-29  1.035  3.366 -0.0029
2016-12-30  1.038  3.369  0.0029
2016-12-31  1.038  3.369  0.0000

当我这样做时:

in_range_df = Days_Count_Sum["2012-01-01":"2016-12-31"]
print("In range: ",in_range_df)
Week_Count = in_range_df.groupby(in_range_df.index.week)
print("in_range_df.index.week: ",in_range_df.index.week)
print("Group by Week: ",Week_Count.sum())

我发现结果总是得到1到53(周)的列表 打印时:in_range_df.index.week:[52 1 1 ...,52 52 52] 我意识到在2012年这个范围的第一年之后,指数值总是“52”。

如何按超过一年的范围分组?

0 个答案:

没有答案