Подмножество даты и времени по количеству дней - PullRequest
0 голосов
/ 06 февраля 2020

Как отфильтровать все строки, где дата превышает 3 дня?

Например, будут удалены строки с 2019-01-04, 2019-05-23 и 2019-03-04.

import pandas as pd

df = pd.DataFrame({
    'date': ['2019-01-01','2019-01-02','2019-01-03', '2019-01-04',
             '2019-05-20','2019-05-21','2019-05-22', '2019-05-23',
             '2019-03-01','2019-03-02','2019-03-03', '2019-03-04'],
    'category': ['category A', 'category A', 'category A', 'category A', 'category B', 'category B', 'category B', 'category B',
             'category C', 'category C', 'category C', 'category C']})

df['date'] = pd.to_datetime(df['date'], format="%Y/%m/%d").dt.date

print(df)

    date    category
    0   2019-01-01  category A
    1   2019-01-02  category A
....
    10  2019-03-03  category C
    11  2019-03-04  category C

1 Ответ

0 голосов
/ 06 февраля 2020
>>> df = df.sort_values('category').drop(df[::4].index.to_numpy())                                                                                                                                  

          date    category
1   2019-01-02  category A
2   2019-01-03  category A
3   2019-01-04  category A
5   2019-05-21  category B
6   2019-05-22  category B
7   2019-05-23  category B
9   2019-03-02  category C
10  2019-03-03  category C
11  2019-03-04  category C
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...