Python 日期时间子集(按天数)

Python 日期时间子集(按天数),python,pandas,dataframe,datetime,Python,Pandas,Dataframe,Datetime,如何筛选出日期超过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', '2

如何筛选出日期超过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

在哪几天?看起来你希望它是每个月的前三天?
>>> 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