Python 熊猫数据框:根据实际日期和最长7天保留行

Python 熊猫数据框:根据实际日期和最长7天保留行,python,pandas,Python,Pandas,我有一个包含文章的数据框架,以下是第一篇文章: 0 La reprise de l’économie française s’étiole et... Sur le Vieux-Port, à Marseille, le 28 septembr... 2020-10-06 1 Aux Etats-Unis, un rapport parlementaire veut ... Les icones des services de Google, Amazon, Fac...

我有一个包含文章的数据框架,以下是第一篇文章:

0   La reprise de l’économie française s’étiole et...   Sur le Vieux-Port, à Marseille, le 28 septembr...   2020-10-06
1   Aux Etats-Unis, un rapport parlementaire veut ...   Les icones des services de Google, Amazon, Fac...   2020-10-07
2   Les beaux jours de la médiation en entreprise   Carnet de bureau. Des entreprises appellent de...   2020-10-07
3   Plan de relance : comment « déterminer mainten...   Tribune. Parmi les multiples critiques entendu...   2020-10-07
4   Des lauréats du Nobel qui ne le méritaient pas  Chaque automne, depuis plus d’un siècle, le pe...   2015-10-07
 %%time

lemonde_title = []
lemonde_content = []
published_date =[]

from newspaper import Article
from newspaper import ArticleException
from datetime import datetime

for art_link in all_urls:
    try:
        art = Article(art_link)
        art.download()
        art.parse()
        
        lemonde_title.append(art.title)
        lemonde_content.append(art.text)
        
        try:
            publish_date = datetime.strptime(str(art.publish_date), '%Y-%m-%d %H:%M:%S').strftime('%Y-%M-%D')
            published_date.append(publish_date)
        except:
            published_date.append('unconverted')
        
    except ArticleException:
        pass
我想只保留从实际日期起最多7天的文章。 类似这样:实际日期使用此功能

    import datetime
    date_before = datetime.date.today() - datetime.timedelta(days=7) 
    df = df[df['date'] >date_before]
您可以按照自己的方式编辑之前的日期。

将日期时间导入为dt df[(dt.datetime.today()-df.date).apply(lambda x:0 输出:

    text    date
0   t1  2020-10-06
1   t2  2020-10-05

为了清晰起见,请共享一个数据框输入示例和预期输出。您好,我用一个图像编辑了我的帖子。现在您可以看到我的数据框有图像不好。将您的df粘贴为代码,预期输出是什么?谢谢,我试过了,我有属性错误:模块“datetime”没有属性“today”我试过,我有打字机ror:“>”在“str”和“datetime.date”的实例之间不受支持。为此,您需要确保数据属性是datetime对象,而不是stringThank,例如
type(df['date'][0])
给出了str类型。因此我必须将此列转换为datetime?是的,因为这两列都将位于datatime对象中,因此您可以对两者进行比较。我转换了该列,现在我在dtype=datetime64[ns]和date之间进行了
无效的比较
    import datetime
    date_before = datetime.date.today() - datetime.timedelta(days=7) 
    df = df[df['date'] >date_before]
df = pd.DataFrame({
    'text': ["t1", "t2", "t3"],
    'date' : ['2020-10-06', '2020-10-05', '2012-10-06']
})
df['date'] = pd.to_datetime(df['date'])

till = pd.to_datetime(datetime.date.today() - datetime.timedelta(days=7))
df = df[df['date'] >= till]
    text    date
0   t1  2020-10-06
1   t2  2020-10-05