Pandas DF 将缺席几个月

第欧根尼

我有一个主要(但不总是)季度值的数据框。

我需要填写任何缺失的月份,以便完成。

这里我需要把它从 2015-12 到 2021-03 放到一个完整的 df 中。

谢谢。

    id      date        amt     rate
0   15856   2015-12-31  85.09   0.0175
1   15857   2016-03-31  135.60  0.0175
2   15858   2016-06-30  135.91  0.0175
3   15859   2016-09-30  167.27  0.0175
4   15860   2016-12-31  173.32  0.0175
....
19  15875   2020-09-30  305.03  0.0175
20  15876   2020-12-31  354.09  0.0175
21  15877   2021-03-31  391.19  0.0175
ynjxsjmh

您可以使用pd.date_range()生成月份结束的列表,freq='M'然后重新索引日期时间索引。

df_ = df.set_index('date').reindex(pd.date_range('2015-12', '2021-03', freq='M')).reset_index().rename(columns={'index': 'date'})
print(df_)

         date       id     amt    rate
0  2015-12-31  15856.0   85.09  0.0175
1  2016-01-31      NaN     NaN     NaN
2  2016-02-29      NaN     NaN     NaN
3  2016-03-31  15857.0  135.60  0.0175
4  2016-04-30      NaN     NaN     NaN
..        ...      ...     ...     ...
58 2020-10-31      NaN     NaN     NaN
59 2020-11-30      NaN     NaN     NaN
60 2020-12-31  15876.0  354.09  0.0175
61 2021-01-31      NaN     NaN     NaN
62 2021-02-28      NaN     NaN     NaN

要填充 NaN 值,您可以使用df_.fillna(0).

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章