亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas 數據框:僅根據實際日期和最多 7 天保留行

Pandas 數據框:僅根據實際日期和最多 7 天保留行

桃花長相依 2023-10-18 21:42:03
我有一個包含文章的數據框,這是第一篇文章:0   La reprise de l’économie fran?aise s’étiole et...   Sur le Vieux-Port, à Marseille, le 28 septembr...   2020-10-061   Aux Etats-Unis, un rapport parlementaire veut ...   Les icones des services de Google, Amazon, Fac...   2020-10-072   Les beaux jours de la médiation en entreprise   Carnet de bureau. Des entreprises appellent de...   2020-10-073   Plan de relance : comment ? déterminer mainten...   Tribune. Parmi les multiples critiques entendu...   2020-10-074   Des lauréats du Nobel qui ne le méritaient pas  Chaque automne, depuis plus d’un siècle, le pe...   2015-10-07我只想保留距實際日期最多 7 天的文章。像這樣的:實際日期 <= 文章 <= 7 天前的最大值我已經編寫了這個代碼來抓取文章: %%timelemonde_title = []lemonde_content = []published_date =[]from newspaper import Articlefrom newspaper import ArticleExceptionfrom datetime import datetimefor 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我像這樣轉換了日期列:# converting the string to datetime format df['date'] = pd.to_datetime(df['date'], format='%Y-%M-%D') 當我嘗試以下代碼時,出現錯誤TypeError: Invalid comparison between dtype=datetime64[ns] and date:import datetimedate_before = datetime.date.today() - datetime.timedelta(days=7)df = df[df['date'] >date_before]
查看完整描述

3 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

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


查看完整回答
反對 回復 2023-10-18
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

用這個這個有效


    import datetime

    date_before = datetime.date.today() - datetime.timedelta(days=7) 

    df = df[df['date'] >date_before]

您可以按照您想要的方式編輯之前的日期。


查看完整回答
反對 回復 2023-10-18
?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

將日期時間導入為 dt df[(dt.datetime.today()-df.date).apply(lambda x: 0<= x.days <7) ]

這應該可以解決問題!


查看完整回答
反對 回復 2023-10-18
  • 3 回答
  • 0 關注
  • 146 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號