Python 确定熊猫的记录是否在1年内

Python 确定熊猫的记录是否在1年内,python,pandas,date,Python,Pandas,Date,我正在尝试识别从今天起1年内过期的记录。这是我的代码,它不起作用,因为我不能从日期中添加或减去整数。有人能帮忙吗?我知道这很简单 from datetime import date today = date.today() mask = (df['[PCW]Contract (Expiration Date)'] <= today + 365) from datetime导入日期 今天=日期。今天() mask=(df['[PCW]合同(到期日)]您需要使用时间增量 from dat

我正在尝试识别从今天起1年内过期的记录。这是我的代码,它不起作用,因为我不能从日期中添加或减去整数。有人能帮忙吗?我知道这很简单

from datetime import date

today = date.today()

mask = (df['[PCW]Contract (Expiration Date)'] <= today + 365)
from datetime导入日期
今天=日期。今天()

mask=(df['[PCW]合同(到期日)]您需要使用时间增量

from datetime import timedelta
one_year = timedelta(days=365)
mask = (df['[PCW]Contract (Expiration Date)'] <= today + one_year)

你能给这个问题添加一些数据框吗?有366天的年份。这有关系吗?@BillHuang不,没有。我得到这个错误:dtype=datetime64[ns]和Date之间的比较无效。你也可以使用。@Ch3steR我得到同样的错误我假设df的类型['[PCW]…']是numpy.datetime64。那么您应该使用one_year=numpy.timedelta64(365,'D')@Oddaspa抱歉,这可能会有所帮助。日期以字符串形式出现,我使用pd.to_datetime将它们格式化为datetime。
import pandas as pd
import numpy as np
df = pd.DataFrame({'[PCW]Contract (Expiration Date)' :["2020-01-21T02:37:21", '2021-01-21T02:37:21', '2022-01-21T02:37:21']})
s = pd.to_datetime(df['[PCW]Contract (Expiration Date)'])
one_year = np.timedelta64(365,'D')
today = np.datetime64('today')
mask = s <= today + one_year
mask
0     True
1     True
2    False
Name: [PCW]Contract (Expiration Date), dtype: bool