Удалить строки с датами старше "сегодня" - PullRequest
0 голосов
/ 17 мая 2018

Я искал здесь и в Google, и нашел много примеров, которые показывают, как удалить старые даты на основе неизменяемой переменной даты, но не могу понять, как удалять строки данных на основе сегодняшней даты в будущем.В приведенном ниже примере, как мне удалить что-либо старше сегодняшней даты (должно быть удалено одно значение), а затем сохранить его?Реальный исходный файл будет продолжать получать новые данные каждый день, и мне нужно будет удалить все, что старше «сегодняшней» даты.

from datetime import datetime

import pandas as pd

data = {'date': ['2001-04-10 18:47:05.069722', '2018-05-16 18:47:05.119994', '2018-05-16 18:47:05.178768', '2018-05-16 18:47:05.230071', '2018-05-16 18:47:05.230071', '2018-05-16 18:47:05.280592', '2018-05-16 18:47:05.332662', '2018-05-16 18:47:05.385109', '2018-05-16 18:47:05.436523', '2018-05-16 18:47:05.486877'], 
        'battle_deaths': [34, 25, 26, 15, 15, 14, 26, 25, 62, 41]}

df = pd.DataFrame(data, columns = ['date', 'battle_deaths'])

df
                         date  battle_deaths
0  2001-04-10 18:47:05.069722             34
1  2018-05-16 18:47:05.119994             25
2  2018-05-16 18:47:05.178768             26
3  2018-05-16 18:47:05.230071             15
4  2018-05-16 18:47:05.230071             15
5  2018-05-16 18:47:05.280592             14
6  2018-05-16 18:47:05.332662             26
7  2018-05-16 18:47:05.385109             25
8  2018-05-16 18:47:05.436523             62
9  2018-05-16 18:47:05.486877             41

1 Ответ

0 голосов
/ 17 мая 2018

Pandas не жалел средств для облегчения жизни разработчиков.Сравните с to_datetime('today') и отфильтруйте соответственно:

df[pd.to_datetime(df.date, errors='coerce') >= pd.to_datetime('today')]

                         date  battle_deaths
1  2018-05-16 18:47:05.119994             25
2  2018-05-16 18:47:05.178768             26
3  2018-05-16 18:47:05.230071             15
4  2018-05-16 18:47:05.230071             15
5  2018-05-16 18:47:05.280592             14
6  2018-05-16 18:47:05.332662             26
7  2018-05-16 18:47:05.385109             25
8  2018-05-16 18:47:05.436523             62
9  2018-05-16 18:47:05.486877             41

Это удалит строку 0 th .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...