熊猫从以前的日期开始填充连续的空日期值+固定天数
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
:
以上是关于熊猫从以前的日期开始填充连续的空日期值+固定天数的主要内容,如果未能解决你的问题,请参考以下文章
如何从用户在android studio中提供的日期中减去固定天数?