我有一个pandas数据框,如下所示,我有月 - 年,需要获取连续数据帧,如果没有找到该月的行,则应将count包括为0。输出的输出如下所示。
Month | Count
--------------
Jan-15 | 10
Feb-15 | 100
Mar-15 | 20
Jul-15 | 10
Sep-15 | 11
Oct-15 | 1
Dec-15 | 15
Month | Count
--------------
Jan-15 | 10
Feb-15 | 100
Mar-15 | 20
Apr-15 | 0
May-15 | 0
Jun-15 | 0
Jul-15 | 10
Aug-15 | 0
Sep-15 | 11
Oct-15 | 1
Nov-15 | 0
Dec-15 | 15
答案 0 :(得分:2)
您可以将Month列设置为索引。它看起来像Excel输入,如果是这样,它将在01.01.2015进行解析,因此您可以按如下方式对其进行重新取样:
df.set_index('Month').resample('MS').asfreq().fillna(0)
Out:
Count
Month
2015-01-01 10.0
2015-02-01 100.0
2015-03-01 20.0
2015-04-01 0.0
2015-05-01 0.0
2015-06-01 0.0
2015-07-01 10.0
2015-08-01 0.0
2015-09-01 11.0
2015-10-01 1.0
2015-11-01 0.0
2015-12-01 15.0
如果月份列未被识别为日期,则需要先将其转换为:
df['Month'] = pd.to_datetime(df['Month'], format='%b-%y')