Pandas - Python,基于Date列删除行

Col*_*ien 13 python datetime date pandas

我正在尝试根据一个日期列删除数据帧的行; [Delivery Date]

我需要删除超过6个月但不等于'1970'年份的行.

我创建了2个变量:

from datetime import date, timedelta
sixmonthago = date.today() - timedelta(188)

import time
nineteen_seventy = time.strptime('01-01-70', '%d-%m-%y')
Run Code Online (Sandbox Code Playgroud)

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

有人能提供正确的解决方案吗?

EdC*_*ica 12

你可以过滤掉它们:

df[(df['Delivery Date'].dt.year == 1970) | (df['Delivery Date'] >= sixmonthago)]
Run Code Online (Sandbox Code Playgroud)

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

您可以使用布尔索引并传递多个条件来过滤df,对于您需要使用数组运算符的多个条件,|而不是or由于运算符优先级而围绕条件括起来.

检查文档以获取布尔索引的说明