我有一个包含文章的数据框,这是第一篇文章: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
繁华开满天机
TA贡献1816条经验 获得超4个赞
用这个这个有效
import datetime
date_before = datetime.date.today() - datetime.timedelta(days=7)
df = df[df['date'] >date_before]
您可以按照您想要的方式编辑之前的日期。
慕桂英3389331
TA贡献2036条经验 获得超8个赞
将日期时间导入为 dt df[(dt.datetime.today()-df.date).apply(lambda x: 0<= x.days <7) ]
这应该可以解决问题!
添加回答
举报
0/150
提交
取消