熊猫从以前的日期开始填充连续的空日期值+固定天数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了熊猫从以前的日期开始填充连续的空日期值+固定天数相关的知识,希望对你有一定的参考价值。

我有一个包含数据列的数据框

Comp_date
0 2020-04-24
1        NaT
2        NaT
3        NaT
4 2020-08-06
5        NaT
6        NaT
7        NaT
8 2020-08-22
9        NaT

我正在尝试使用上一个日期的值来填充空值+添加一个固定的天数(10)。但是我做不到。我尝试了以下]]

df['Comp_date']=df['Comp_date'].fillna((df['Comp_date'].shift()+pd.to_timedelta(10, unit='D')), inplace=True)

没有任何反应,我得到的结果相同。有什么帮助吗?预期结果

    Comp_date
0   2020-04-24
1   2020-05-04
2   2020-05-14
3   2020-05-24
4   2020-08-06
5   2020-08-16
6   2020-08-26
7   2020-09-05
8   2020-08-22
9   2020-09-01

我有一个包含数据列Comp_date 0 2020-04-24 1 NaT 2 NaT 3 NaT 4 2020-08-06 5 NaT 6 NaT 7 NaT 8 2020-08-22 9 NaT我是...的数据帧...] >

答案

我不清楚您的问题,但这为最后观察到的Comp_date增加了固定的天数。

constant_number_of_days = 2
df2 = df['Comp_date'].ffill().to_frame()
df2.loc[df['Comp_date'].isnull(), 'Comp_date'] += pd.Timedelta(days=constant_number_of_days)
>>> df2
   Comp_date
0 2020-04-24
1 2020-04-26
2 2020-04-26
3 2020-04-26
4 2020-08-06
5 2020-08-08
6 2020-08-08
7 2020-08-08
8 2020-08-22
9 2020-08-24
另一答案

您很接近,仅删除inplace=True并添加ffill

以上是关于熊猫从以前的日期开始填充连续的空日期值+固定天数的主要内容,如果未能解决你的问题,请参考以下文章

R:在时间序列中填充缺失的日期?

SQL数字/日期模式分析/时间跨度

如何从用户在android studio中提供的日期中减去固定天数?

根据不均匀的日期重新索引熊猫数据框,然后用 groupby 和空白填充某些值

填补熊猫数据框中的日期空白

根据天数计算日期