gpt4 book ai didi

python - 使用基于日期的条目填充 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-01 04:47:29 24 4
gpt4 key购买 nike

我有一个 Pandas DataFrame,如下所示:

            Amount
Date
2013-12-31 140.99
2014-01-31 24.97
2014-02-28 30.69
2014-03-31 0.00
2014-04-30 0.00
2014-05-31 0.00
2014-06-30 0.00
2014-07-31 0.00
2014-08-31 183.71
2014-09-30 0.00
2014-10-31 0.00
2014-11-30 59.87
2014-12-31 26.92
Expense

这是由 *df.resample("M", how="sum")* 生成的命令。

这又是由 *df = df[df["Date"] < end_date]* 生成的命令(此外, *Date* 列已成为索引)。

我的问题:

The *end_date* is March 1, 2015.

However, the dataframe has no entry after 2014-12-31.

I need to have entries like 2015-01-01 and 2015-02-01 (they could be NaN, in which case I'll use *fillna* to set them to 0).

如何生成这些条目(从算法上来说 - 我在多个数据集上执行此操作,每个数据集在不同的月份结束,因此我无法手动填写它们)?

实际上,我需要在两端都执行此操作(开始和结束)。

谢谢。

最佳答案

我怀疑有比这更简单的方法,但这并不太难。假设您的“日期”索引是日期时间,您只需创建一个日期范围并将其附加即可。

In [26]: rng = pd.date_range('1/31/2015', periods=3, freq='1m')

In [27]: df2 = pd.DataFrame({ 'Amount': 0 * len(rng) }, index=rng )

In [28]: df.append(df2)
Out[28]:
Amount
2013-12-31 140.99
2014-01-31 24.97
2014-02-28 30.69
2014-03-31 0.00
2014-04-30 0.00
2014-05-31 0.00
2014-06-30 0.00
2014-07-31 0.00
2014-08-31 183.71
2014-09-30 0.00
2014-10-31 0.00
2014-11-30 59.87
2014-12-31 26.92
2015-01-31 00:00:00 0.00
2015-02-28 00:00:00 0.00
2015-03-31 00:00:00 0.00

关于python - 使用基于日期的条目填充 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29115114/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com