Pandas-Python,基于日期列删除行

我试图根据一个日期列删除数据框的行[交货日期]

我需要删除超过6个月但不等于“1970”年的行

我创建了两个变量:

从日期时间导入日期,时间增量
sixmonthago=date.today()-timedelta(188)
导入时间
一九七零=time.strtime('01-01-70','%d-%m-%y')

但是我不知道如何使用[Delivery Date]列删除基于这两个变量的行

谁能提供正确的解决方案

您可以将它们过滤掉:

df[(df[‘交付日期’].dt.year==1970)|(df[‘交付日期’]>=sixmonthago)]

这将返回年份为1970或日期小于6个月的所有行

您可以使用布尔索引并传递多个条件来过滤df,对于多个条件,您需要使用数组运算符,因此|而不是,并且由于运算符优先级,需要在条件周围加上括号

查看文档以了解布尔索引的解释

发表评论