如何向pandas.TimeGroup添加填充

2024-09-27 23:24:57 发布

您现在位置:Python中文网/ 问答频道 /正文

数据如下:

date
2016-03-23    hiit
2016-03-30    hiit
2016-04-20    hiit
2016-08-24    hiit
2016-09-04    hiit
2016-10-19    hiit
2016-10-24    hiit
2016-11-07    hiit
2016-11-24    hiit
2016-12-01    hiit
2016-12-04    hiit
2016-12-15    hiit

当我使用

df.groupby(pd.TimeGrouper('MS')).count()

现实:

date
2016-03-01    2
2016-04-01    1
2016-05-01    0
2016-06-01    0
2016-07-01    0
2016-08-01    1
2016-09-01    1
2016-10-01    2
2016-11-01    2
2016-12-01    3

所需(数据从2016-01-01开始)

date
2016-01-01    2
2016-02-01    2
2016-03-01    2
2016-04-01    1
2016-05-01    0
2016-06-01    0
2016-07-01    0
2016-08-01    1
2016-09-01    1
2016-10-01    2
2016-11-01    2
2016-12-01    3

如何做到这一点


Tags: 数据dfdatecountmspd现实groupby
1条回答
网友
1楼 · 发布于 2024-09-27 23:24:57

重新编制索引:

r = df.groupby(pd.TimeGrouper('MS')).count()
r.reindex(pd.date_range('2016-1-1', periods=12, freq='MS'), method='bfill')
Out[413]: 
            data
2016-01-01     2
2016-02-01     2
2016-03-01     2
2016-04-01     1
2016-05-01     0
2016-06-01     0
2016-07-01     0
2016-08-01     1
2016-09-01     1
2016-10-01     2
2016-11-01     2
2016-12-01     3

相关问题 更多 >

    热门问题