Задержка значения на основе критериев из списка - python - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть таблица, которая отформатирована в следующем формате:

testdf = pd.DataFrame({"date":['2016-07-01','2016-07-02','2016-07-03','2016-07-04'],"freq": [10,15,20,13]})

testdf = testdf.set_index("date")

lst = ['2016-07-03', '2016-07-13']

Я хочу отставать значение freq до значения ранее, если индекс находится в lst (предпочтительно с функцией применения pandas).

Например, в этом примере значение freq для '2016-07-03' должно быть заменено на 15, поскольку дата указана в "lst", и поэтому я хочу получить значение предыдущего дня.

Заранее признателен за любую помощь!

1 Ответ

0 голосов
/ 04 декабря 2018

Используйте pd.Index.isin и ffill:

testdf.freq.mask(testdf.index.isin(lst)).ffill().to_frame()

            freq
date            
2016-07-01  10.0
2016-07-02  15.0
2016-07-03  15.0
2016-07-04  13.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...