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")
我查询索引的语法可能已关闭,但这是基本思想 查询很整洁!!查询很整洁!!