Python 如何删除日期低于特定日期的行

Python 如何删除日期低于特定日期的行,python,pandas,datetime,Python,Pandas,Datetime,我有以下数据帧: rate year month week day pct_day 1973-01-02 8.02 1973 1 1 2 NaN 1973-01-03 8.02 1973 1 1 3 0.000000 1973-01-04 8.00 1973 1 1 4 -0.002494 1973-01-05 8.01 1973 1

我有以下数据帧:

             rate  year  month  week  day   pct_day
1973-01-02   8.02  1973      1     1    2       NaN
1973-01-03   8.02  1973      1     1    3  0.000000
1973-01-04   8.00  1973      1     1    4 -0.002494
1973-01-05   8.01  1973      1     1    5  0.001250
1973-01-08   8.00  1973      1     2    8 -0.001248
          ...   ...    ...   ...  ...       ...
2020-05-22  75.99  2020      5    21   22  0.004760
2020-05-26  75.43  2020      5    22   26 -0.007369
2020-05-27  75.88  2020      5    22   27  0.005966
2020-05-28  75.67  2020      5    22   28 -0.002768
2020-05-29  75.59  2020      5    22   29 -0.001057
如何删除低于
1998-09-09
的日期。为了做到这一点,我已经做到了:

date1 = date.datetime(2008, 1, 1)
date1 = date1.strftime('%Y-%m-%d')
data[pd.to_datetime(data.index) >= pd.to_datetime('date1')]
但在最后一行代码之后,我得到:

ParserError: Unknown string format: date1

date1是一个字符串。如果您创建了一个名为
date1

的列,则尝试将
pd.传递给\u datetime(date1)
,或者将
pd.传递给\u datetime(df['date1'])
。相反,如果您创建了一个名为
date1的列,请尝试将
pd.传递给\u datetime(date1)
或仅将
pd.传递给\u datetime(df['date1'])

data[pd.to_datetime(data.index) >= pd.to_datetime('date1')]
应该是

data[pd.to_datetime(data.index) >= pd.to_datetime(date1)]
因为date1是您定义的变量,您将其作为字符串调用

或者,pandas内置了一个查询系统,允许您执行以下操作

data_less_than_data = data.query("index >= 1998-09-09")
我查询索引的语法可能已关闭,但这是基本思想

应该是

data[pd.to_datetime(data.index) >= pd.to_datetime(date1)]
因为date1是您定义的变量,您将其作为字符串调用

或者,pandas内置了一个查询系统,允许您执行以下操作

data_less_than_data = data.query("index >= 1998-09-09")

我查询索引的语法可能已关闭,但这是基本思想

查询很整洁!!查询很整洁!!