Вот мой фрейм данных:
dt country
0 Apr-14-2012 15:25:49 usa
1 Apr-14-2012 15:38:55 japan
2 Jan-00-0 france
3 Apr-14-2012 16:05:07 uk
4 Apr-14-2012 16:18:13 ireland
И я хочу заменить это недопустимое значение предыдущим значением с добавлением 8 минут.
Вот желаемый фрейм данных:
dt country
0 Apr-14-2012 15:25:49 usa
1 Apr-14-2012 15:38:55 japan
2 Apr-14-2012 15:46:55 france
3 Apr-14-2012 16:05:07 uk
4 Apr-14-2012 16:18:13 ireland
Я использую этот код:
df["dt"] = pd.to_datetime(df["dt"],errors="coerce")
s = df["dt"].isnull()
df["dt"] = df["dt"].ffill()
df[s] -= pd.Timedelta(minutes=3)
print (df)
Но я получаю такой вывод:
dt country
0 0 days 00:08:00 0 days 00:08:00
1 0 days 00:08:00 0 days 00:08:00
2 0 days 00:08:00 0 days 00:08:00
3 0 days 00:08:00 0 days 00:08:00
4 0 days 00:08:00 0 days 00:08:00